我试图使用下面的代码部分创建一个包含大量重复if语句的可读函数。
#define if_identifier(finder, to_find) if((finder = msg.find(to_find)) != std::string npos)
std::string Utility::Decode(const char* buffer, int &playerID) {
std::string msg(buffer);
size_t identifier;
if_identifier(identifier, "P_ID:[") {
}
}
为什么此代码会导致type name is not allowed
错误?
答案 0 :(得分:3)
因为垃圾std::string
在那里。
尝试将std::string npos
更改为std::string::npos
。