gpt4 book ai didi

C++类模板继承之谜

转载 作者:行者123 更新时间:2023-11-28 03:44:55 28 4
gpt4 key购买 nike

这段代码有什么问题? gcc 4.6.1 在 baz() 中提示“'foo' 未在此范围内声明”。如果我转换代码以使其中一个模板只是一个常规类,问题就会消失。

struct Foo {
char foo;
};

template<int N>
struct Bar : public Foo
{
Bar() { foo; }
};

template<int N>
struct Baz : public Bar<N>
{
void baz() { foo; }
};

int main() {
Baz<10> f;
return 0;
}

最佳答案

有什么问题,根据规范,我不知道,但您可以使用以下代码编译代码:

void baz() { Bar<N>::foo; }

关于C++类模板继承之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958258/

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