gpt4 book ai didi

C++ - 循环依赖(在模板化基类中使用子类的内部类型)

转载 作者:可可西里 更新时间:2023-11-01 18:36:07 25 4
gpt4 key购买 nike

我遇到了模板类中循环依赖的问题。有一个代码示例:

template <typename T> struct A 
{
typedef typename T::C D;
//typename T::C c;
};

struct B : public A<B>
{
struct C {};
};

当我尝试实例化 B 时,出现编译器错误:“C”不是“B”的成员 (MSVC) 或 Invalid use of incomplete type 'struct B' (海湾合作委员会)。
更改示例以使其正常工作的最佳方法是什么?

最佳答案

struct B_base { struct C {}; };
strucr B : A<B_base>, B_base { };

关于C++ - 循环依赖(在模板化基类中使用子类的内部类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153424/

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