0
的錯誤,我有這樣的代碼,獲取使用的Sun Studio編譯但在G ++代碼編譯在Sun Studio,但給出了GCC
DBManager & DBManager::operator >> (UtlString &value)
{
//## begin DBManager::operator>>%921890065.body preserve=yes
if(_state == DBMRan){
_reader >> static_cast<std::string>(value);
}
return *this;
//## end DBManager::operator>>%921890065.body
}
DBManager.cpp:263: error: no match for âoperator>>â in â((DBManager*)this)->DBManager::_reader >> std::basic_string<char, std::char_traits<char>, std::allocator<char> >(((const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)((const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)(&((jda::UtlString*)value)->jda::UtlString::<anonymous>))))â
DBReader.h:50: note: candidates are: virtual DBReader& DBReader::operator>>(char&)
DBReader.h:51: note: virtual DBReader& DBReader::operator>>(unsigned char&)
DBReader.h:52: note: virtual DBReader& DBReader::operator>>(short int&)
DBReader.h:53: note: virtual DBReader& DBReader::operator>>(short unsigned int&)
DBReader.h:54: note: virtual DBReader& DBReader::operator>>(int&)
DBReader.h:55: note: virtual DBReader& DBReader::operator>>(unsigned int&)
DBReader.h:56: note: virtual DBReader& DBReader::operator>>(long int&)
DBReader.h:57: note: virtual DBReader& DBReader::operator>>(long long int&)
DBReader.h:58: note: virtual DBReader& DBReader::operator>>(long unsigned int&)
DBReader.h:59: note: virtual DBReader& DBReader::operator>>(long long unsigned int&)
DBReader.h:60: note: virtual DBReader& DBReader::operator>>(float&)
DBReader.h:61: note: virtual DBReader& DBReader::operator>>(double&)
DBReader.h:62: note: virtual DBReader& DBReader::operator>>(DBDateTime&)
DBReader.h:63: note: virtual DBReader& DBReader::operator>>(DBBlob&)
DBReader.h:64: note: virtual DBReader& DBReader::operator>>(std::string&)
DBReader.h:65: note: virtual DBReader& DBReader::operator>>(DBNullIndicator&)
otlv4.h:35416: note: otl_connect& operator>>(otl_connect&, otl_stream&)
給出錯誤正如你可以在DBReader類有運營商>>上述錯誤信息看它通過引用獲取std :: string,並且UtlString類從std :: string派生,所以static_cast不應該是一個問題,但編譯器仍然抱怨沒有匹配的方法。 也可以告訴我如何刪除出現在錯誤信息中的字符。
謝謝
我認爲,''是你的控制檯如何顯示'''出於某種原因......並且不應該將它轉換爲'std :: string&'? – lapk
我將static_cast更改爲static_cast ,但結果仍然相同。 –
anonymous