#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: 意外的标记位于“;”之前
#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
偶遇到相似问题都是用
“每次用/*…*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。
“每次用/*…*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。