我在完成一些单独的编译时遇到了问题。这很简单,但我无法弄清楚这个错误。
我遇到了这些例外情况:
> 36 C:\Cpp\P6\employee.cpp expected `)' before ',' token 36
> C:\Cpp\P6\employee.cpp expectedinit-declarator before ')' token 36
> C:\Cpp\P6\employee.cpp expected `,' or `;' before ')' token 42
> C:\Cpp\P6\employee.cpp expected `)' before ',' token 42
> C:\Cpp\P6\employee.cpp expected init-declarator before ')' token 42
> C:\Cpp\P6\employee.cpp expected `,' or `;' before ')' token
代码:
/*line 36*/ Employee::Employee(n, id) { //constructor for name and ID
setName(n);
setID(id);
};
/*line 42*/ Employee::Employee(id, d, p, n) {//constructor for all member variables
setID(id);
setDept(d);
setPos(p);
setName(n);
};
头文件看起来像(它们是公开的):
Employee::Employee();
Employee::Employee(std::string, int);
Employee::Employee(int, std::string, std::string, std::string);
有关这些错误的含义或如何修复它们的任何帮助?
答案 0 :(得分:4)
您必须在变量名称前面加上一个类型。你有声明,但没有定义。像下面这样的东西应该解决它:
Employee::Employee(std::string n, int id) { //constructor for name and ID
setName(n);
setID(id);
};
第二个Employee
构造函数定义也是如此。
此外,最好通过常量引用而不是值传递std::string
。并且...你的头像向左旋转了45度。