enum class Relation { Eq, Less, Compare }; struct AllRelations : EnumValuesAsTuple<AllRelations, Relation, 3> { static constexpr const char* Names[] = {"Eq", "Less", "Compare"}; };报错:error: expected template-name before ‘<’ token
时间: 2024-04-28 21:21:54 浏览: 149
c++ 尽量不要使用#define 而是用const、enum、inline替换。
这个错误通常是因为编译器在解析代码时没有正确理解 `EnumValuesAsTuple` 是一个模板类的名称。你需要包含定义该模板类的头文件或者将其定义在当前代码文件中。另外,你也需要确保使用了正确的命名空间。
例如,如果 `EnumValuesAsTuple` 定义在命名空间 `foo` 中,那么你需要在代码中包含 `#include <foo/EnumValuesAsTuple.h>` 头文件,或者在代码文件开头加上 `using namespace foo;` 语句来使用 `EnumValuesAsTuple`。
阅读全文