【问题标题】:expression cant be called as a function : error [closed]表达式不能作为函数调用:错误[关闭]
【发布时间】:2022-01-10 02:18:34
【问题描述】:

我在这里遇到编译时错误。

我试图找到错误的解决方案,但无法得出结论。

当我尝试在用户定义的函数中使用括号返回值时,它显示“表达式不能作为函数调用”。

我的代码是:

template <class t1>
t1 sum(t1 a, t1 b)
{
    if (a != b)
    {
        return a + b;
    }
    else
    {
        return 3(a+b);
    }
}

【问题讨论】:

  • 不要标记不相关的语言。这不是C 代码。
  • 3(a+b) 应该做什么? 3 不是函数,所以不能像个函数一样调用它
  • 3(a+b) 似乎是一些数学符号,而不是任何可以被识别为 C++ 代码的东西。你的意思是3*(a+b)
  • 你必须使用数学运算符将3乘以(a+b),否则它认为3是一个函数。
  • return 3 * (a+b); 也许?

标签: c++ templates compiler-errors return


【解决方案1】:

3(a+b) 对于 C++ 编译器没有任何意义。如果您要进行乘法运算,请使用3*(a+b)。如果3是函数,改名,不能用数字作为函数名。

【讨论】:

    猜你喜欢
    • 2019-06-22
    • 2022-11-12
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2019-02-13
    相关资源
    最近更新 更多