C++ 类型别名错误:'using'之前的预期非限定 ID
C++ Type alias error: expected unqualified-id before 'using'
有很多资源解释如何做Type混叠,但显然我遗漏了一些东西。我正在尝试创建一个地图别名。在调试时,我希望我的Map_t
是标准库map
,因为它更容易看到它包含的内容,而在不调试时,我希望它是btree::btree_map
,因为它使用更少的内存。
为此,我尝试了以下操作:
#if DEBUG
#include <map>
template<typename U, typename V>
using Map_t = map<typename U, typename V>; // <--- Error on this line
#else
#include "btree_map.h"
template<typename U, typename V>
using Map_t = btree::btree_map<typename U,typename V>; // <--- Error on this line
#endif
编译时,我得到错误error: expected unqualified-id before 'using'
。我尝试了以上几种方法,但都没有成功。提前感谢您的意见。
更新:我觉得我可能把b树部分也算进去了,让大家有点困惑。让我展开一点。如果我声明类型为
btree::btree_map<int, int> mymap;
或
map<int, int> mymap;
一切正常。我只是想介绍
template<typename U, typename V>
using Map_t = map<U, V>;
Map_t<int, int> mymap;
引导错误。
你的语法有点错误。你需要
template<typename U, typename V>
using Map_t = map<U, V>;
对于btree
段,这取决于btree
的细节。如果它是一个具有名为btree_map
的类模板的名称空间,那么您需要
template<typename U, typename V>
using Map_t = btree::btree_map<U, V>;
如果它是一个内部类型的类模板,那么你可能需要像
这样的东西template<typename U, typename V>
using Map_t = typename btree<U,V>::btree_map;
相关文章:
- "using namespace std;"在C++的作用是什么?
- 从函数角度看ID到文件路径的内部与外部映射
- 通过组合不同的类型来创建唯一的id
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- FFMPEG配置文件级别id大小无效
- 方法内部但循环仍得到预期的不合格id错误C++
- 如何获取 GLFW 窗口 ID?
- vector<vector<double>> to mxArray using memcpy
- Using C++ CryptAPI:CNG Create CSR
- STLPort using C++11
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 函数中的 c++ using 语句,后跟函数名称(对于 ADL?
- 显示数组中的学生 ID 和最高分
- Using getchar_unlocked()
- 类作用域的类型别名"using":[何时]方法中的用法可以先于类型别名?
- C++:"("令牌"之前有预期的非限定 id 指向类中成员函数的指针
- 在PostgreSQL中根据它们的ID选择大量行的最快方法是什么?
- 编译器报告:error: expected unqualified-id before ' using '
- C++ 类型别名错误:'using'之前的预期非限定 ID
- 编译失败,"using" "expected unqualified-id"