2013-07-29 35 views
0

我正在尝试使用ADO库来与MDB文件进行通信。此时,我可以阅读所有栏目。我的代码依赖于其他需要wstring作为参数的库。下面的代码返回一个_variant_t数据类型,但是该函数应该接收的参数是wstring类型。我尝试了几种转换方法,但没有一种似乎能够工作。如何将_variant_t数据类型转换为wstring

wstring effectDescription = recordset->Fields->GetItem("effectDescription")->Value 

构建器输出:无操作员发现它采用类型“_variant_t”的右边的操作数(或没有可接受的转化率)

任何帮助,将不胜感激!

回答

0

_variant_t可以容纳很多类型,但大概它包含了类似字符串的东西。在这种情况下,_variant_t::operator _bstr_t会给你一个_bstr_t,它又有一个operator const wchar_t*,最后wstring的ctor将采取taht。请注意,您在C++中只获得一次隐式转换,所以这就是它不能编译的原因。使转换明确。