c++ - 通过重载 = 运算符从 std::string 创建 String 对象

标签 c++ xcode string gcc operator-overloading

我已经尝试了几个选项,但我的编译器没有选择运算符重载或其他错误。我使用 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;
}

非常感谢您的帮助,谢谢!

最佳答案

错误消息 Assigning to 'cocos2d::CCString *' from incompatible type 'const char [5]' 建议您将 char 数组分配给指向 cocos2d::的指针CCString

这应该有效:

char bar[] = "ABCD";
cocos2d::CCString foo;
foo = bar;

关于c++ - 通过重载 = 运算符从 std::string 创建 String 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257708/

相关文章:

c++ - C++ 程序员不知道以 null 结尾的字符串是如何工作的,这是否可以接受?

ios - 如何使用Cordova的闪屏API

Java字符串替换特殊字符(保加利亚语、波兰语、德语)

c++ - 如何将 vector 变量传递给函数?

c++ - 这两种定义方法有区别吗?

c++ - g++ 和文件读取,Xcode/Snow Leopard 的奇怪行为

ios - 在 Xcode 中构建 Twitter 的 Fabric API 时出现问题

java - Java 尝试判断字符串是否只包含字母

java - UTF8 字符串到 byte[],每个字符作为单个字节

c++ - 我收到链接错误