void catchlabel()
{
if(vecs.empty())
return;
else
{
cout << "The Sizeof the Vector is: " << vecs.size() << endl;
cout << "Currently Stored Labels: " << endl;
/* Error 1 */
for ( int i = 1, vector<string>::iterator it = vecs.begin(); it != vecs.end(); ++it , i++)
cout << i << ". "<< *it << endl;
cout << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
1>错误C2146:语法错误:在标识符'it'之前缺少','
如何解决这个问题?
您不能在for循环的初始语句中声明多个类型的项,就像您不能将其int i = 1, vector<string>::iterator it = vecs.begin();视为独立语句一样.你必须在循环之外声明其中一个.
由于C语言你从来没有能够在一个语句中声明不同类型的多个变量(尽管指针是一个相当奇怪的例外):
int i, double d; /* Invalid */
int i, j; /* Valid */
Run Code Online (Sandbox Code Playgroud)
此行为由C++继承,并适用于for循环内的每个语句以及独立语句.
| 归档时间: |
|
| 查看次数: |
1574 次 |
| 最近记录: |