0

我可以写这样的代码吗

class Foo
{
    typedef Foo type;
};

我没有看到标准对此有任何限制。

4

2 回答 2

1

注意:编译器:Apple GCC,操作系统:OSX 10.7

GCC 对此没有发现任何问题,我可以在type后面的 Foo 定义中使用该类型。但是,您不能使用typeFoo 之外的类型。

于 2013-03-21T14:41:25.047 回答
0

可以编写该代码。type并且Foo不是保留字,C++ 允许在结构或类中定义类型。事实上,它们大量用于元编程和类型自省的模板中。有关该语言方面的更多详细信息,请参阅如何理解 C++ 中的依赖名称。

于 2013-03-21T14:51:34.887 回答