注册 登录
编程论坛 C++教室

[求助]近乎相同的代码却无法通过编译??

alleks 发布于 2007-08-03 01:12, 448 次点击

int main()

{

using namespace std;

vector<int> ivec;

int value;

while(cin>>value)

ivec.push_back(value);

int len=ivec.size();

int* p=new int[len];

int* q=p;

for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++,q++)

*q=*iter;

delete [] p;

return 0;

}

如果把划线的部分换成如下代码,则会报下面的错误:

for(vector<int>::iterator iter=ivec.begin(), int* q=p;iter!=ivec.end();iter++,q++)

报错:
1>.\1.cpp(12) : error C2062: 意外的类型“int”

1>.\1.cpp(12) : error C2065: q: 未声明的标识符

请问是什么原因呢?是哪里出了问题呢?

2 回复
#2
medicihophy2007-08-03 10:38
#include<iostream>
using namespace std;
int main()
{
for(int i=0,int j=0;i<10;i++)
{
j++;
}
cout<<j;
return 0;
}
知道这个为什么也不能通过吗?
因为逗号语句撒!
int a,int b;见过这种语句吗?
#3
alleks2007-08-03 13:25
哦,明白了!
以前是这么用的:
for(int i=0, j=0;i<10;i++)
谢谢哦:)
1