No viable conversion from ‘const char’ to ‘std::string’ (aka ‘basic_string<char, char_traits, allocator >’) 解决方法
最近在学习Cocos2dx 对C++ 不是很熟悉,碰到了这个错误。
遍历字符串的时候报错了。
1 2 3 4 5 6 7 8 9 10 |
__String str = __String::create("232"); //现在我要获取第二位那个3 //于是我就这样做 const char *c = str->getCString(); std::string s = c[3];//这里编译报错了。然后我google 了一下午,char to String 没有什么结果 CCLOG("%s",s.c_str()); |
解决方法
后面看到了 cocos2dx
它自己定义了个字符串类 看到了这个方法在CCString.h
里面
1 2 3 |
static __String* createWithFormat(const char* format, ...) CC_FORMAT_PRINTF(1, 2); |
将char
转为__String
这里就想到把这个中转下把
先专为 __String
然后专为 std::string
1 2 3 4 5 6 7 8 9 10 |
__String str = __String::create("232"); const char *c = str->getCString();//这里转一下 __String *m = __String::create("%s",c[2]); std::string s = m->_string;//拿到 std::string CCLOG("%s",s.c_str()); |
由于对C++ 不熟悉 有更好方法的同学欢迎评论.
转载请注明:zhangman523 » No viable conversion from ‘const char’ to ‘std::string’ (aka ‘basic_string