小编Jac*_*son的帖子

模板调用彼此的功能

所以,我有一组相当简单的模板,我想一起使用,但编译器一直告诉我B :: a的类型不完整.一切都是向前宣布的,但它仍然不起作用......

#include <iostream>

using namespace std;

template <typename T> class A;
template <typename T> class B;

template <typename T>
class A{
public:
    void ATestFunction();
    void CallBFunction();
protected:
    B<T> b;
};

template <typename T>
class B{
public:
    void BTestFunction();
    void CallAFunction();

protected:
    A<T> a;
};

template <typename T>
void A<T>::ATestFunction(){
    cout << "A was used for a function call" << endl;
}

template <typename T>
void B<T>::BTestFunction(){
    cout << "B was used for a function call" << endl;
} …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

0
推荐指数
1
解决办法
194
查看次数

标签 统计

c++ ×1

c++11 ×1