我的构造函数有点问题。 在我的头文件我宣布:C++错误:将'char *'赋值给'char [2]的不兼容类型
char short_name_[2];
- 和其他变量
在我的构造函数:
Territory(std::string name, char short_name[2], Player* owner, char units);
void setShortName(char* short_name);
inline const char (&getShortName() const)[2] { return short_name_; }
在我的cpp文件:
Territory::Territory(std::string name, char short_name[2], Player* owner,
char units) : name_(name), short_name_(short_name),
owner_(owner), units_(units)
{ }
我的错误:
Territory.cpp: In constructor ‘Territory::Territory(std::string, char*, Player*, char)’: Territory.cpp:15:33: error: incompatible types in assignment of ‘char*’ to ‘char [2]’
我已经想通了,char[2] <=> char*
,但我不知道如何处理这对我的构造函数和获取/ setter方法。
'我已经想出了char [2] <=> char *'不是真的。 – Rapptz 2013-04-09 23:23:45
但我认为C++编译器是char [2]相当于char *?!我真的不知道如何初始化这个构造函数和获取者... – vicR 2013-04-09 23:30:32
数组和指针是*非常*不同的东西。阅读[comp.lang.c常见问题](http://www.c-faq.com/)的第6部分; C和C++在这方面的规则基本相同。 – 2013-04-09 23:37:21