所以当编译器得到这个代码时:
class SaveRecall : public BaseSql
{
private:
std::list<std::wstring> *internalList;
static int callback(void *data, int argc, char **argv, char **azColName)
{
internalList->clear();
for( int i = 0; i < argc; i++ ) internalList->push_back( argv[i] );
return 0;
}
...
它会抛出此错误:
c:\projects\c++\midimod\source\BaseSql.hpp(37) : error C2227: left of '->clear' must point to class/struct/union/generic type
c:\projects\c++\midimod\source\BaseSql.hpp(38) : error C2227: left of '->push_back' must point to class/struct/union/generic type
这没有任何意义,因为清除和推回是一个列表对象,我几乎可以肯定你可以使用清除并推回列表。
我正在使用MSVC2013命令行编译器。
非常感谢!