2013-07-29 38 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++中只獲得一次隱式轉換,所以這就是它不能編譯的原因。使轉換明確。