如果我被允许做以下事情:
为什么我不能在主函数中执行以下操作?
但是我必须明确以下内容:
C++11引入了默认模板参数,但目前它们对我完全理解起来有些难以捉摸。
template <typename T = int>
class Foo{
};
为什么我不能在主函数中执行以下操作?
Foo me;
但是我必须明确以下内容:
Foo<int> me;
C++11引入了默认模板参数,但目前它们对我完全理解起来有些难以捉摸。
Foo
可能是模板标识符或显式实例化取决于是否有默认参数,那么使用它可能会产生一些不必要的复杂性。最好保留显式实例化语法。可以将其视为具有单个默认参数的函数foo
。你不能像调用foo
一样调用它,而应该使用foo()
进行调用。保持这种一致性是有意义的。 - Joseph Mansfieldfoo
那样不带参数调用函数;但是您可以将没有参数的类命名为Foo
。 - Seth Carnegie<>
了。请查看我的答案以获取更多详细信息。 - Paolo M