明显调用括号前的表达式必须具有(指向)函数类型

新手上路,请多包涵

我在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;
}

当我构建这个程序时,我在最后一行得到错误。它说:

明显调用括号前的表达式必须具有(指向)函数类型

我应该怎么办?

原文由 S.yao 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

如果您将非常量值发送到 max 方法中,也可能会导致此问题。

这是 max 的语法:

 constexpr const T& max (const T& a, const T& b, Compare comp);

原文由 Guduru Chetan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题