小编Sib*_*umi的帖子

C++ 推导的返回类型在定义之前不能使用

计算器.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()方法移至头文件中,则不会出现错误。我缺少什么?

c++ types c++17

4
推荐指数
1
解决办法
7202
查看次数

标签 统计

c++ ×1

c++17 ×1

types ×1