gpt4 book ai didi

c++ - 从 class_Type 名称访问 vector 值不允许错误

转载 作者:行者123 更新时间:2023-11-28 07:29:10 31 4
gpt4 key购买 nike

我将无符号值存储在一个 vector 中,我需要在另一个类中使用这些值。尝试在函数中返回 vector 值时出错,我不知道自己做错了什么!这是我的部分代码:

class Rider
{
friend istream &operator>>(istream &in, Rider &rhs);

public:
Rider(const string &name = ""): m_name(name){}

const string &name() const {return m_name;}
const string &team() const {return m_team;}
const string &country() const {return m_country;}
//const unsigned &numOfSatges() const {return m_tv;}

typedef vector<unsigned> TimeVector;
const vector<unsigned> & get() const{return TimeVector;) //Error: Type Name is not allowed!

private:

string m_name;
string m_team;
string m_country;

//unsigned m_numOfStages;

TimeVector m_tv;

};

这是我尝试访问存储在 vector 中的无符号值的地方:

class Match_Stage : public unary_function<const Rider&, bool>
{
public:
Match_Stage(const unsigned stage) : m_stage(stage){}
bool operator()( const Rider &rider) const
{
return rider.TimeVector == m_stage; //Error: Type Name is not allowed!
}

private:
unsigned m_stage;
};

谢谢你的帮助

最佳答案

TimeVector 是一个类型名。您正在使用它,就好像它是一个变量一样。就像在说

int == 42;

你需要一个变量:

int i = 3;
i == 42;

您可能想要的是在您的类中返回 TimeVector 的实例:

typedef vector<unsigned> TimeVector;
const vector<unsigned> & get() const{return m_tv;)

关于c++ - 从 class_Type 名称访问 vector 值不允许错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040939/

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