gpt4 book ai didi

c++ - 从函数返回迭代器给我一个奇怪的错误

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

所以我有一个名为 Client 的类,它包含一个字符串列表。我想要一种方法在开始时获得一个迭代器,在结束时获得另一个迭代器。所以我有以下代码:

iterator Client::getGustBegin() const { return _gustos.begin(); }
iterator Client::getGustEnd() const { return _gustos.end(); }

在Client.h中是这样的:

    iterator getGustBegin() const;
iterator getGustEnd() const;

还有 _gustos 是这样声明的:

list<string> _gustos;

我正在使用 g++ 编译器,它向我显示了这个错误:

error: invalid use of template-name 'std::iterator' without an argument list

在 Client.h 的两行中。我有 map 和列表包括。我不知道为什么,我不明白这个错误。我做错了什么?

最佳答案

typedef 通常是一件好事:

class Client
{
public:
typedef std::list<std::string>::iterator gust_iterator;
gust_iterator getGustBegin() const;
};


inline Client::gust_iterator Client::getGustBegin() const {
return _gustos.begin();
}

在你的例子中(正如已经指出的那样)迭代器指的是 std::iterator。(因此,您给出了另一个避免“使用 nmaespace std”的示例)

关于c++ - 从函数返回迭代器给我一个奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20079836/

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