返回 std::map with get 方法
return std::map with a getter method
正如标题所示,我正在尝试抓住一个 std::map 容器并返回它。
我收到以下错误:在没有参数列表的情况下无效使用模板名称"std::map">
现在我很确定原因与模板有关,但根本没有找到描述我具体情况的示例。
我的程序相当简单,因为我是休假的新手。它由以下文件组成:
- 主.cpp
- Movie_Archive.马力
- Movie_Archive.cpp
- 电影.hpp
- 电影.cpp
- 助手.hpp
- 助手.cpp
我认为没有人希望我粘贴所有代码,所以我粘贴了我认为对我的问题至关重要的部分。代码如下:
Movie_Archive.hpp
class MovieArchive {
private:
std::map <std::string, Movie> movie_archive;
public:
std::map getMovieArchive();
};
Movie_Archive.cpp
std::map MovieArchive::getMovieArchive() {
return movie_archive;
}
主.cpp
TheMovieArchive.controlArchiveStatus(TheMovieArchive.getMovieArchive(), TheMovieArchive.getTitle());
检查电影标题是否已输入
非常感谢您看一看。我希望有人能找到解决方案。
亲切的问候//阿勒
你可能的意思
是class MovieArchive {
private:
std::map <std::string, Movie> movie_archive;
public:
std::map<std::string, Movie> getMovieArchive();
};
即,您还必须在 getter 的返回类型中提供模板参数。
顺便说一句:你可能想写
class MovieArchive {
private:
std::map <std::string, Movie> movie_archive;
public:
const std::map<std::string, Movie> & getMovieArchive();
};
即返回一个常量引用而不是内部数据结构的副本。
相关文章:
- 返回 std::map with get 方法
- 如何使用 "get" 方法返回类的私有 std::unique_ptr 成员
- 为什么 std::unique_ptr 没有 const get 方法
- get 方法无法正确"get"静态数组
- 在集合方法中传递 get 方法
- 使用"get"方法C++类继承
- C++带有 asio get 方法成员的对象
- 返回不同类型变量的单个 get 方法
- C++ Get 方法不返回指向节点的指针
- fstream-get方法的行为不一致
- 从成员 get 方法返回常量引用
- <T>unique_ptr.get() 方法在使用原始指针赋值时调用析构函数?
- 无法通过 get 方法编辑私有变量(必须是可修改的左值)
- 声明Get方法const时出错
- c++ set/get方法同步
- 没有自己的get方法的set方法是不好的做法吗?
- 如何获取启动线程的get方法或函数地址
- 我如何将参数传递给qnetworkrequest get方法
- 点运算符和get方法之间的区别
- QNetworkAccessManager“get”方法在重新启动时崩溃