【发布时间】:2013-03-03 21:19:44
【问题描述】:
OSX 10.8,碳
我有一个我想从 Char* 派生的 std::string
例子:
CFStringRef *s;
char *c[128];
CFStringGetCString(*s, *c, 128, kCFStringEncodingUTF8);
int size = sizeof(c);
g_uid.assign(c, size);
但是我得到一个无效的转换,我不明白为什么
error: invalid conversion from 'char**' to 'long unsigned int'
std::string g_uid = ""; 被定义为全局
【问题讨论】:
-
这不是
char *,它是char *的数组。 -
如果你想从
(const) char *创建一个std::string,你可以这样做例如const char *blah = "foo"; std::string str = blah;. -
如果不清楚,可以把
char *c[128];改成char c[128];就好了。
标签: c++ string type-conversion macos-carbon