gpt4 book ai didi

c++ - 嵌套类在继承类中的可见性

转载 作者:行者123 更新时间:2023-11-30 02:01:42 26 4
gpt4 key购买 nike

我处理的代码大致如下:

// List.h
template <typename T> class List{
template <typename TT> class Node;
Node<T> *head;
/* (...) */
template <bool D> class iterator1{
protected: Node<T> this->n;
public: iterator1( Node<T> *nn ) { n = nn }
/* (...) */
};
template <bool D> class iterator2 : public iterator1<D>{
public:
iterator2( Node<T> *nn ) : iterator1<D>( nn ) {}
void fun( Node<T> *nn ) { n = nn; }
/* (...) */
};
};

(如果需要上面的具体代码,请引用我的previous question)

// Matrix.h
#include "List.h"
template <typename T>
class Matrix : List<T> {
/* (...) - some fields */
class element {
supervised_frame<1> *source; // line#15
/* (...) - some methods */
};
};

我在 g++ 中得到以下错误:

 In file included from main.cpp:2:
Matrix.h:15: error: ISO C++ forbids declaration of ‘supervised_frame’ with no type
Matrix.h:15: error: expected ‘;’ before ‘<’ token

最佳答案

我相信Matrix<T>::element类与类无关List<T> .所以我认为你应该有 typename List<T>::template supervised_frame<1> .

关于c++ - 嵌套类在继承类中的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13853836/

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