编译器找不到内部类型
Internal type cannot be found by compiler
我得到以下错误:
Error 1 error C2143: syntax error : missing ';' before '&'
Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Error 3 error C2065: 'Item' : undeclared identifier
Error 4 error C2065: 'Order' : undeclared identifier
对于这行代码:
template <class Item, class Order>
Iterator& DLinkedOrderedList<Item, Order>::Iterator::operator++(){}
如果我没有弄错的话,上面这行是函数返回类型Iterator&?的正确语法;?
Iterator
需要DLinkedOrderedList<Item, Order>::
,因为返回类型在类声明之外是未知的:
template <class Item, class Order>
DLinkedOrderedList<Item, Order>::Iterator& DLinkedOrderedList<Item, Order>::Iterator::operator++(){}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果你不喜欢长时间的冗余,你可以使用auto
和->
:
template <class Item, class Order>
auto DLinkedOrderedList<Item, Order>::Iterator::operator++() -> Iterator& {}
相关文章:
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- 嵌套模板函数采用 2 个具有相同内部类型的容器
- 返回给定 SEXP 的子集,而无需知道实际的内部数据类型
- 如何理解c++中在命名空间内部定义的枚举类型enum
- 在变量名后声明带有 () 的非内部类型与不使用变量名的行为不同。即 std::map<int,char>x(); - 这是怎么回事?
- C++:在"try"外部创建的类型会导致错误,但在内部不会
- 如何在QTScript中将QLIST内部的QMAP注册为元素类型
- 如何通过从变量中获取类型来访问内部 typedef
- 是一个被认为是不同类型的班级内部的正向声明
- 如何从对象内部的 typedef 获取模板参数类型
- 如何使用 C 的内部 C++ 类类型?
- 具有模板类型内部功能的不同操作的NOExcept
- 在C++中,当两个向量类型不同时,如何将值存储到向量内部的向量中
- 如何将负数转换为更广泛的类型在内部工作
- 如何为模板的内部类型专用化类
- 从函数内部推断函数返回类型
- C 名称当前类型内部模板
- 从内部类型参数推断外部类型
- 从 lambda 内部返回 C++11 中的 lambda 类型(平面映射函数)
- 在 CUDA 中使用内部类型转换的奇怪错误