【发布时间】:2021-01-02 13:57:18
【问题描述】:
目前我正在学习模板和结构。我需要完成以下任务:
使用静态 eval() 创建一个结构模板 ConstInt 返回整数常量值的方法。
例子:
typedef ConstInt<4> a; // represents the function a(x) = 4
我尝试执行以下操作:
template<int value>
struct ConstInt
{
static int eval(int x)
{
return x;
};
};
但这似乎没有给出正确的输出。当我尝试在 main() 中执行时,它会出错:
typedef ConstInt<4> a;
错误:typedef 'a' 本地定义但未使用
我收到一个错误,但我不确定此尝试是否真的有助于完成任务。
【问题讨论】:
-
这是第一个警告,您没有在任何地方使用
a。因此,只需在main()中放置类似int y = a::eval();的行即可。该警告可能被视为错误,因为您有带有编译器标志的-Werror。
标签: c++