c++ vector

C++语言 码拜 9年前 (2016-04-10) 1725次浏览
#ifndef _MANAGERSERVICEIMPL_H
#define _MANAGERSERVICEIMPL_H
#endif
#include “ManagerService.h”
#include “ManagerDao.h”
#include “Manager.h”
#include <vector>
class ManagerServiceImpl:public ManagerService
{
public:
ManagerServiceImpl();
~ManagerServiceImpl();
void addManager(); //增加管理员。将从参数传入的Manager对象加入managers容器
void deleteManager(); //删除管理员。从managers容器中删除符合特定ID号的Manager对象
void listManager(); //列出全部管理员。返回managers容器
public:
ManagerDao* dao;  //数据访问对象  构造函数中动态创建ManagerDaoFileImpl对象
//管理员对象容器
public:
vector<Manager> managers;
};
添加上vector定义的 数组之后  就出现个这种错误
实在想不清楚  求指点
1>ManagerViewCons.cpp
1>e:\code\managepeo\managepeo\managerserviceimpl.h(21) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>e:\code\managepeo\managepeo\managerserviceimpl.h(21) : error C4430: 缺少类型说明符 – 假定为 int。注意: C++ 不支持默认 int
1>e:\code\managepeo\managepeo\managerserviceimpl.h(21) : error C2238: 意外的标记位于“;”之前
1>ManagerServiceImpl.cpp
1>e:\code\managepeo\managepeo\managerserviceimpl.h(21) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>e:\code\managepeo\managepeo\managerserviceimpl.h(21) : error C4430: 缺少类型说明符 – 假定为 int。注意: C++ 不支持默认 int
1>e:\code\managepeo\managepeo\managerserviceimpl.h(21) : error C2238: 意外的标记位于“;”之前
解决方案

3

std::vector<Manager> managers;

2

using namespace std;

2

using namespace std;

10

vector属于std命名域的,因此需要通过命名限定,如下完成你的代码:

1.using std::vector;
vector<Manager> managers;
2.或连在一起,使用全名:
std::vector<Manager> managers;
3.使用全局的命名域方式:using namespace std;

6

std::vector<Manager>

5

偶遇到相似问题都是用
“每次用/*…*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c++ vector
喜欢 (0)
[1034331897@qq.com]
分享 (0)