【发布时间】:2013-10-15 14:02:11
【问题描述】:
#define EXTERNAL_API_VERSION 1.12.1
std::string version = boost::lexical_cast<std::string>(EXTERNAL_API_VERSION);
这段代码会产生编译错误:
error C2143: syntax error : missing ')' before 'constant'
error C2059: syntax error : ')'
是否有任何简单的替代方法可以将这种格式的数字(超过一个点)转换为字符串?
【问题讨论】:
-
1.12.1不是有效的文字常量。 -
这不是 C++ 中的有效词位,所以不,这是不可能的。在代码中拥有版本的唯一方法是字符串。
-
@PaperBirdMaster 你是对的,但我必须把它转换成字符串:-)
-
@Sanich 那为什么不把它作为一个字符串开头呢?
-
const char* EXTERNAL_API_VERSION = "1.12.1";有什么问题?