gpt4 book ai didi

c++ - 在没有模板参数的派生类中使用模板类名是否合法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:58 25 4
gpt4 key购买 nike

以下代码在 clang++ 8.0.0 下都可以正常编译和 g++ 9.1.0 (编译标志是 -Wall -Wextra -Werror -pedantic-errors):

template <typename>
struct Base
{
};

struct Derived : Base<int>
{
Base base()
{
return Base();
}
};

int main()
{
}

这是这些编译器中的错误还是 C++ 标准的特性?

最佳答案

injected-class-name

内部Base<T> , Base指(在某些情况下)Base<T> .

Derived然后也会使用那个注入(inject)的类名。

关于c++ - 在没有模板参数的派生类中使用模板类名是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56703935/

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