Adi*_*Adi 1 c++ compiler-errors
这些代码有什么不同:
std::string dirName = argv[1];
MyRecordDatabaseType myDB(Selector<std::string>((std::string)dirName));
Run Code Online (Sandbox Code Playgroud)
和
std::string dirName = argv[1];
MyRecordDatabaseType myDB(Selector<std::string>(dirName));
Run Code Online (Sandbox Code Playgroud)
我不知道为什么第二个版本不能编译.
编译器告诉我:
error: request for member ‘createGroupWriter’ in ‘myDB’, which is of non-class type ‘main(int, char**)::MyRecordDatabaseType(Selector<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)’
Run Code Online (Sandbox Code Playgroud)
在线:
MyRecordDatabaseType::writer_type myWriter(myDB.createGroupWriter(groupName));
Run Code Online (Sandbox Code Playgroud)
抱歉,但我无法向您展示Selector或任何其他类的代码.
也许你没有那个可以帮助我?
是的,区别在于这一行
MyRecordDatabaseType myDB(Selector<std::string>(dirName));
Run Code Online (Sandbox Code Playgroud)
也可以像
MyRecordDatabaseType myDB(Selector<std::string> dirName);
Run Code Online (Sandbox Code Playgroud)
并且是一个myDB返回函数的声明MyRecordDatabaseType.
请参阅C++最烦恼的解析
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |