我在哪里修复关于模板的C ++代码?

时间:2017-08-21 22:17:27

标签: c++ templates clang++ expected-exception

当我编写C ++代码并由clang ++编译器编译时,

error: expected expression
template <typename T>
^

有代表。

为什么会出现此错误以及如何解决?

#include<iostream>
using namespace std;

int main() {

template <typename T>
T sum(T a, T b) {
return a+b;
}

cout <<"Sum = " << sum( 2.1, 7.9 ) << endl;

return 1;
}

1 个答案:

答案 0 :(得分:8)

您无法在main内定义功能。将定义移到

之外
#include <iostream>

template <typename T>
T sum(T a, T b)
{
    return a + b;
}

int main()
{
    std::cout << "Sum = " << sum(2.1, 7.9) << std::endl;  
    return 0;
}