gpt4 book ai didi

c++ - 模板的前向声明

转载 作者:行者123 更新时间:2023-11-28 00:50:15 27 4
gpt4 key购买 nike

我不喜欢将前向声明用作:

struct A;

struct B
{
A* a;
}

// Implementation

我习惯于做这样的事情:

struct B
{
struct A* a;
}

但是,当我尝试使用模板类时遇到问题:

template<typename T>
struct A
{
struct B<T>* _t;
};

template<typename T>
struct B
{
T _t;
};

编译器告诉我:

test.cpp:4:12: error: 'B' is not a template
test.cpp:8:8: error: 'B' is not a template type

我怎样才能做到这一点?

最佳答案

两个步骤。

第 1 步:在结构 A 之前定义结构 B

第 2 步:喜欢前向声明。

关于c++ - 模板的前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546321/

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