以下哪种语法是首选的或在法律上是正确的:
template< class T >
struct S
{
typedef std::vector< S > V;
// typedef std::vector< S< T > > V;
Run Code Online (Sandbox Code Playgroud)
Visual C++和gcc接受,但C++ Builder XE3在第一个上报告"E2299无法生成模板特化"错误.
两者都是正确的; 类名注入到类的范围内:C++的哪些特性允许模板类在没有模板参数的情况下引用它们自己?
偶尔使用该功能; 例如,标准在标准库的规范中使用它,以简洁.为清楚起见,您可以考虑在自己的代码中避免使用它.
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |