-5

当我写了一段 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;
}
4

1 回答 1

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;
}
于 2017-08-21T22:18:42.667 回答