该错误是由于使用了C++的枚举类型enum TABLE_TYPE
而不是强类型的enum class TABLE_TYPE
引起的。在C++中,枚举类型默认不具有明确的范围,可能导致潜在的问题。
为了解决这个问题,你可以将枚举类型改为强类型的enum class TABLE_TYPE
,并显式指定其作用域。例如:
enum class TABLE_TYPE {
KV_TABLE = 1,
ORIGINALKV_TABLE
};
然后,在函数参数和其他地方使用该枚举时,需要指定作用域:
bool KvDbManager::CheckDataExist(sqlite3* m_db, TABLE_TYPE type, const int64_t k)
{
//...
}
这样修改后,应该可以解决错误提示,并正确编译和运行代码。
内容由零声教学AI助手提供,问题来源于学员提问