'['令牌向量之前预期的未限定id

expected unqualified-id before ‘[’ token Vector

本文关键字:id 令牌 向量      更新时间:2023-10-16

我得到以下编译错误:

在' [' token Vector

const std::vector<double>* t_vector = &my->thresholds;
if(t_vector.size >= 10)
{
  std::cout << t_vector->[i];
}

错误在std::cout语句

我还尝试了以下方法:

std::cout << t_vector[i]
std::cout << *t_vector[i]

这种threshold_vector->[i]语法根本不存在。

你的意思是取消引用threshold_vector:

*threshold_vector

则对结果调用[]操作符;为此,您需要使用圆括号:

(*threshold_vector)[i]

由于语言语法的各种复杂性,->语法仅适用于函数调用(无论是obj->foo()还是obj->operator[](i) !),而不适用于中音/前缀/后缀操作符。

同理,写threshold_vector->size()而不是threshold_vector.size

还有,希望你指的是std::vector<double>而不是std::double<vector> ?!

除了上面提到的错误之外,您必须注意,由于threshold_vector被声明为指针,因此编译if(threshold_vector.size >= 10)可能会遇到问题。

使用threshold_vector->size代替。再次,我不确定向量模板有一个名为大小的字段。