马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 20180906 于 2018-9-27 22:11 编辑
为什么把vector放在类里面就不能用了?
主程序test.cpp 代码如下:#include <iostream>
#include "Virtual.h"
#include "virtualImpl.h"
int main()
{
Virtual * v = new VirtualImpl();
v->fun();
return 0;
}
父类Virtual.h 代码如下:#ifndef VIRTUAL_H
#define VIRTUAL_H
#include <vector>
class Virtual
{
private:
int a;
vector<int> aa;//加了这一句之后代码编译不通过,不加之前可以运行
public:
virtual void fun()=0;
};
#endif
子类VirtualImpl.h 代码如下:#ifndef VIRTUALIMPL_H
#define VIRTUALIMPL_H
#include <iostream>
#include "virtual.h"
using namespace std;
class VirtualImpl:public Virtual
{
public:
void fun(){cout << a<< endl;cout << "123" << endl;}
};
#endif
这就是整个项目了。
然后编译不过的 报错信息如下:
--------------------Configuration: test - Win32 Debug--------------------
Compiling...
test.cpp
f:\microsoft visual studio\myprojects\test\virtual.h(8) : error C2143: syntax error : missing ';' before '<'
f:\microsoft visual studio\myprojects\test\virtual.h(8) : error C2501: 'vector' : missing storage-class or type specifiers
f:\microsoft visual studio\myprojects\test\virtual.h(8) : error C2059: syntax error : '<'
f:\microsoft visual studio\myprojects\test\virtual.h(8) : error C2238: unexpected token(s) preceding ';'
执行 cl.exe 时出错.
test.exe - 1 error(s), 0 warning(s)
求大佬帮帮看看,告诉我这是什么情况?怎么解决呀??
using namespace std?? std::vector
|