|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|
|