【发布时间】:2013-11-16 00:20:08
【问题描述】:
我在 Xcode 上收到以下错误:关于我的变量“in_code”和我的类“Game_Object”
使用不同类型“Game_Object”与“char”重新定义“in_code”
这是我的 Person 构造函数,另一个类
Person::Person(char in_code)
{
Game_Object(in_code); -> HERE IS WHERE I AM GETTING THE ERROR!!
speed = 5;
cout << "Person constructed"<<endl;
}
但是,我的 Game 对象的构造函数被声明为获取 char 变量。看到:
Game_Object::Game_Object(char in_code)
{
display_code = in_code;
state = 's';
id_num = 0;
location = Cart_Point();
cout<<"Game_Object constructed."<<endl;
你能帮忙吗?
【问题讨论】:
-
Game_Object obj(in_code); -
我们应该先假设
Game_Object是Person的基类,而您不小心把它放在Person构造函数的主体中,而不是它所属的初始化列表中吗?无关:如果成员在类 def 中声明为Cart_Point location;,location = Cart_Point();将无用。它已经使用该默认值构建。事实上,我认为没有理由 all 该构造函数中的其他赋值不在Game_Object的初始化列表中,只有cout << ...在实际主体中。
标签: c++ redefinition