我尝试了几个选项,但我的编译器没有选择运算符重载或其他错误。我正在使用 XCode 4.5.2 和默认的 Apple LLVM 编译器 4.1。
我得到的错误是这样的:Assigning to 'cocos2d::CCString *' from incompatible type 'const char [5]'
在这些线上:
CCString *s_piece__locks = "TEST";
cocos2d::CCString *s_piece__locks2 = "TEST";
我的 .h 代码:
CCString& operator= (const std::string& str);
// CCString& operator= (const char* str); // this doesn't work either
const CCString& operator = (const char *);
我的 .cpp 代码(即使这无关紧要):
CCString& CCString::operator= (const std::string& str)
{
m_sString = CCString::create(str)->m_sString;
return *this;
}
const CCString& CCString :: operator = (const char* str)
{
m_sString = CCString::create(str)->m_sString;
return *this;
}
非常感谢您的帮助,谢谢!