计算器.h
class Calculator {
Calculator();
template<typename... Args>
static auto add(Args... args);
};
Run Code Online (Sandbox Code Playgroud)
计算器.cpp
#include "Calculator.h"
Calculator::Calculator() {}
template<typename... Args>
auto Calculator::add(Args... args) {
return (args + ... + 0);
}
Run Code Online (Sandbox Code Playgroud)
主程序
#include <iostream>
#include "Calculator.h"
int main(){
Calculator cal;
std::cout<< cal.add(1,2,3);
}
Run Code Online (Sandbox Code Playgroud)
具有推导返回类型的函数“add<int, int, int>”在定义之前不能使用
如果我将该add()方法移至头文件中,则不会出现错误。我缺少什么?