【发布时间】:2011-08-24 05:24:49
【问题描述】:
TCLAP std::wstring 问题。
大家好,
我正在使用 TCLAP(命令行解析实用程序)。到目前为止,它运行良好,直到我遇到 wstring 处理能力的问题。
我有下面一行来解析 UnlabeledValueArg 的代码
std::wstring defaultValue;
UnlabeledValueArg<std::wstring>
serverName("COMPUTERNAME", "List all scheduled tasks of computer", false,
defaultValue, "string" );
我遇到了编译时问题(Visual Studio 吐出了大量令人难以置信的问题。)。我的问题是有没有人尝试过将 std::wstring 与 TCLAP 一起使用。如果是,您可以发布解决方案或解决方法。谢谢。
编辑 - 我得到的编译器警告是 -
C:\DevProjects\MyProjects\nttoolkit\trunk\external\tclap/StandardTraits.h(187) : 错误 C2679: 二进制 '=' : 否 运算符找到了 'const 类型的右手操作数 std::string' (或者没有 可接受的转换)
c:\Program Files (x86)\Microsoft Visual Studio9.0\VC\include\xstring(914): 可能是 'std::basic_string<_elem>
&std::basic_string<_elem>::operator
=(const std::basic_string<_elem> &)' 和 [ _Elem=wchar_t, _Traits=std::char_traits, _Ax=std::分配器 ]
c:\Program Files (x86)\Microsoft Visual Studio9.0\VC\include\xstring(919): 或 'std::basic_string<_elem> &std::basic_string<_elem>::operator =(const _Elem *)' 和 [ _Elem=wchar_t, _Traits=std::char_traits, _Ax=std::分配器 ]
c:\Program Files (x86)\Microsoft Visual Studio9.0\VC\include\xstring(924): 或 'std::basic_string<_elem> &std::basic_string<_elem>::operator =(_Elem)' 和 [ _Elem=wchar_t, _Traits=std::char_traits, _Ax=std::分配器 ] 在尝试匹配参数列表时 '(std::wstring, const std::string)'
C:\DevProjects\MyProjects\nttoolkit\trunk\external\tclap/Arg.h(446): 见函数模板参考 实例化'无效 TCLAP::SetString(T &,const std::string &)' 正在编译 和 [ T=std::wstring ]
C:\DevProjects\MyProjects\nttoolkit\trunk\external\tclap/ValueArg.h(391): 见函数模板参考 实例化'无效 TCLAP::ExtractValue(T &,const std::string &,TCLAP::StringLike)' 正在编译 和 [ T=std::wstring ]
C:\DevProjects\MyProjects\nttoolkit\trunk\external\tclap/ValueArg.h(389): 编译类模板时 成员函数'无效 TCLAP::ValueArg::_extractValue(const 标准::字符串 &)' 和 [ T=std::wstring ]
C:\DevProjects\MyProjects\nttoolkit\trunk\external\tclap/ValueArg.h(325): 编译类模板时 成员函数'bool TCLAP::ValueArg::processArg(int *,std::vector<_ty> &)' 和 [ T=std::wstring, _Ty=std::字符串 ]
C:\DevProjects\MyProjects\nttoolkit\trunk\external\tclap/UnlabeledValueArg.h(44):参见类模板的参考
实例化'TCLAP::ValueArg' 正在编译 和 [ T=std::wstring ]
C:\DevProjects\MyProjects\nttoolkit\trunk\tasksecure\src\main.cpp(26):参见类模板的参考 实例化 'TCLAP::UnlabeledValueArg' 是 编译 和 [ T=std::wstring ]
TaskSecure - 1 个错误,6 个警告
【问题讨论】:
-
VS 给你的错误是什么?
-
我刚刚编辑并添加了编译器警告。谢谢。
标签: c++