如何为与其类内联创建的对象提供模板参数

How do I give template arguments to an object created inline with its class?

本文关键字:对象 参数 创建      更新时间:2023-10-16

我知道在c++中我们可以这样做:

class A {} a;

这使得类型为A的对象命名为a。它相当于:

A a;

我想知道如何用模板做到这一点。例如:

template <typename T> struct N {} <int> n;

这个不能编译,但是你明白了。如何将模板参数指定给与类定义内联创建的对象?这可能吗?

关闭}后的物质按标准称为init-declarator-list

14.3明确禁止在模板类声明中使用它们:

在模板声明中,显式特化或显式在声明中实例化init-declarator-list最多包含一个声明符。当这样的声明用于

我认为你做不到。根据我的理解,你提到的结构体和类的形式是为了与c语言向后兼容而保留的——你可以为结构体这样做。
不过这主意不错:)

你不能从模板定义中声明变量,即使所有模板参数都有默认值。

这也是错误:

template <typename T = int> struct N {} n;
  • http://ideone.com/vFlIEg