我在我的C++代码中得到这个错误非POD元素类型变量长度数组string
(又名basic_string<char>
)。非POD元素类型“字符串”(又名'basic_string <char>')的可变长度数组C++
string words[numWords];
如果我摆脱NUMWORDS和输入号码能正常工作,但如果我把一个变量相同数量的它给我的Variable length array of non-POD element type 'string' (aka 'basic_string<char>')
错误,我已经这样做之前,它在视觉工作室工作但我现在已经在Xcode中试过了,它不起作用。我曾尝试使用矢量,但我无法让它们存储任何数据,它们只是回到空白。
对于那些谁问这是我的矢量代码都应该有
char ch;
ifstream repFile("//Users//bobthemac//Documents//c++asignment//c++asignment//test1.txt");
while(repFile.get(ch))
{
if(ch == ' ' || ch == '\n' || ch == '\t')
{
numWords++;
}
}
vector<string> words (numWords);
while(repFile >> x)
words.push_back(x);
repFile.close();
这与* Xcode有*无关。它与你正在使用的编译器有关。某些版本的gcc我认为? gcc -version'说什么? – Irfy 2012-03-03 23:18:33
你可以发布你的'vector'代码吗? – hmjd 2012-03-03 23:19:40
对数组大小使用变量不是标准。使用矢量应该工作,所以真正的问题是找到为什么这不适合你。 –
2012-03-03 23:20:24