【发布时间】:2015-11-07 22:40:48
【问题描述】:
这是我想要做的代码
std::string json_str;
const char json[] = json_str;
这是我的尝试
const char json [json_str.size()] = {(char) json_str.c_str ()};
但它给了我错误“从 'const char*' 转换为 'char' 失去精度”
请帮忙。谢谢你。
【问题讨论】:
-
使用 json_str.c_str() 它将返回一个 const char *.
-
C++ 没有可变长度数组。数组的维度必须来自编译时常量。
-
不能从编译时无法归约的表达式中直接赋值给数组。
-
当你有字符串时,你是否有理由需要
const char*?如果你有一个接受const char*的函数,那么只需使用json_str.c_str()作为参数。 -
@NathanOliver 我想你是对的; document.Parse (json_str.c_str()) 确实编译;现在看看它是否有效