gpt4 book ai didi

C++ 预期主表达式错误

转载 作者:太空狗 更新时间:2023-10-29 19:42:31 25 4
gpt4 key购买 nike

在使用 g++ 编译以下代码时,出现“expected primary-expression before int”错误。你知道为什么以及如何解决它吗?谢谢!

 struct A
{
template <typename T>
T bar() { T t; return t;}
};

struct B : A
{
};

template <typename T>
void foo(T & t)
{
t.bar<int>();
}

int main()
{
B b;
foo(b);
}

最佳答案

编译 foo() 时函数,编译器不知道 bar 是成员 template。你必须告诉它:

template <typename T>
void foo(T & t)
{
t. template bar<int>(); // I hope I put template in the right position
}

编译器认为 bar 只是一个成员变量,并且您尝试将它与某些东西进行比较,例如t.bar < 10 .结果,它提示“int”不是一个表达式。

关于C++ 预期主表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4879184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com