我有一些代码,我无法编译它.编译器说应该有一个结束括号,但我看不出这个或地方放置它的原因.这是我的代码:
#include "Player.h"
Player(std::string val){
set_Name(val);
set_Alliance("NONE");
set_LastUpdate();
}
Player(std::string val, std::string ally){
set_Name(val);
set_Alliance(ally);
set_LastUpdate();
}
Run Code Online (Sandbox Code Playgroud)
我已经包含在Player.h中
这是错误:
error: expected ')' before 'val'
Run Code Online (Sandbox Code Playgroud)
这是构造函数的原型:
Player(std::string);
Run Code Online (Sandbox Code Playgroud)
我在linux下使用GNU GCC编译器(ubuntu)
hyd*_*yde 11
您正在从类定义之外的构造函数中缺少类名.试试这个:
Player::Player(std::string val){ // constructor outside class definition
set_Name(val);
set_Alliance("NONE");
set_LastUpdate();
}
Run Code Online (Sandbox Code Playgroud)
未经验证的猜测:使用当前代码,编译器会看到Player(symbol1 symbol2)并将其视为创建类Player的对象,并且首先无法理解的是将两个符号视为构造函数参数,并且给出了一个有点误导性的错误.
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |