我正在vs2015社区上学习C ++模板,这是我的代码,我想定义一个模板类并在函数中调用成员main()函数。
template <typename T>
class Arithmetic {
T _a;
T _b;
Arithmetic() {};
public
Arithmetic(T a, T b) :_a(a), _b(b) {};
T max const() { return _a + _b; };
T minus const() { return _a - _b; };
};
int main() {
Arithmetic<int> ar(5,6);
cout << ar.max() << endl;
}
Run Code Online (Sandbox Code Playgroud)
生成此程序时,在最后一行出现错误。它说:
显式调用括号前的表达式必须具有(指针指向)函数类型
我该怎么办?
该错误表示尝试调用未定义为函数的函数 max()。将 const 关键字之后的括号更改为标识符 max 之后:
T max const()...
Run Code Online (Sandbox Code Playgroud)
到
T max() const ...
Run Code Online (Sandbox Code Playgroud)
using:后publicconst到合适的位置#include <iostream>
using std::cout;
using std::endl;
template <typename T>
class Arithmetic {
T _a;
T _b;
Arithmetic() {};
public:
Arithmetic(T a, T b) :_a(a), _b(b) {};
T max() const { return _a + _b; };
T minus() const { return _a - _b; };
};
int main() {
Arithmetic<int> ar(5,6);
cout << ar.max() << endl;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31027 次 |
| 最近记录: |