vector Geta(); 为什么报错?

rferen2003 2004-11-15 01:19:11
我在一个类中声明了一个函数:
vector<int> Geta();
编译时有这样的错误:
syntax error before ')' token

这是怎么回事?
这个函数已经实现了。
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
healer_kx 2004-11-15
  • 打赏
  • 举报
回复
正如前面说的, 你没有使用std命名空间。
rferen2003 2004-11-15
  • 打赏
  • 举报
回复
main.cpp
-----------------------------------------

#include <iostream>
#include <stdlib.h>
#include "ClassA.h"

using namespace std;

int main(int argc, char *argv[])
{
A a;
int b[]={1,2,3};
a.SetA(b,5);

system("PAUSE");
return 0;
}


ClassA.h
---------------------------------

#include <vector>

class A
{
private:
int a[];
int i;
public:
A();
vector<int> Geta(); //<---这里错了
void SetA(int b[],int i);

};




ClassA.cpp
--------------------------------------------
#include "ClassA.h"
#include <iostream>

A::A()
{
i=5;
}

void A::SetA(int b[],int i2)
{

//copy b to a
for(int j=0;j<sizeof(b)/sizeof(int);j++)
{
a[j]=b[j];
}

i=i2;
}

vector<int> A::Geta()
{
vector<int> ret;
ret.push_back(2);
return ret;
}


错误信息:
3 C:\Dev-Cpp\TestClass1\main.cpp In file included from main.cpp
10 C:\Dev-Cpp\TestClass1\ClassA.h syntax error before `)' token
C:\Dev-Cpp\TestClass1\Makefile.win [Build Error] [main.o] Error 1
hbsandy 2004-11-15
  • 打赏
  • 举报
回复
#include <vector>
using namespace std;
Willin 2004-11-15
  • 打赏
  • 举报
回复
std::vector<int> Geta();
hbsandy 2004-11-15
  • 打赏
  • 举报
回复
能给出完整代码吗?

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧