c++ - 如何在 .cpp 文件中函数的返回类型(签名)中使用在头文件中定义的别名?
问题描述
我有一个类,Tracker
我在其中声明了一个别名
来自Tracker.h
:
class Tracker {
...
using ArgsMap = std::unordered_map<std::string, std::string>;
std::shared_ptr<ArgsMap> getArgsMapForTask(std::string task);
...
}
在我定义函数的 .cpp 文件中:
#include Tracker.h
...
// ArgsMap here gives error: Use of undeclared identifier 'ArgsMap'
std::shared_ptr<ArgsMap> Tracker::getArgsMapForTask(std::string taskName)
{
ArgsMap a; // this gives no error, compiler recognizes ArgsMap
}
如何ArgsMap
在函数签名中使用?
解决方案
问题不在于别名在头文件中,这完全不相关。
问题是别名是在类的范围内定义的,所以如果你想在类之外使用它,你需要限定它:Tracker::ArgsMap
.
推荐阅读
- amazon-web-services - 通过 IAM 角色访问 EKS 集群
- android - 如何更改日期选择器的状态栏颜色?
- firebase - 如何在 Firestore 中复制具有不同 ID 的文档?
- python - 如何编写 Python 脚本来控制 Gnome 窗口的位置?
- java - 向不存在的交换器发送消息并捕获异常
- javascript - 嵌套拖放 AddEventListener 中的事件会发生什么?
- python-3.x - Flask CORS 停止允许访问资源
- flutter - 创建可以水平和垂直滚动的容器块
- python - 从 Pandas 上的 FTP 目录自动读取最新的 csv 文件
- php - 模板解析器类中的 URL 处理