【发布时间】:2013-11-20 12:55:12
【问题描述】:
我尝试使用以下代码行创建语言环境:
std::locale loc(std::locale::classic(), new comma);
comma的定义是:
struct comma : std::numpunct<char> {
char do_decimal_point() const { return ','; }
};
我认为它应该可以工作,因为我在 MSDN 文档中看到了对 facet 的类似构造函数调用。不幸的是,我得到了错误:
错误 C2664: '__thiscall std::locale::std::locale(const char *,int)' : 无法从 'const char *' 中的 'const class std::locale' 转换参数号 1
你知道,我怎样才能做到正确吗?
在 Stackoverflow 上有一些答案,它们就是这样做的(this 或 this one)。但似乎旧的 VC6 编译器不支持此构造函数(尽管 VC6 文档中的示例使用了它)。但是必须有一种方法可以在 VC6 中使用构面,否则它不会成为文档的一部分。
【问题讨论】:
-
您对 VC6 持非常的乐观态度。我很惊讶仍然有 MSDN 文档,但它肯定不再受支持。 IE。如果文档有误,微软不会修复它。
-
@MSalters:我对参与 stackoverflow.com 的人持乐观态度,更多时候我没有得到有用的答案,但不幸的是,没有人愿意深入研究 VC6 部分。
-
嗯,与希望看到 VC6 回归的人相比,致力于复兴渡渡鸟的人更多。
标签: c++ visual-c++-6