【发布时间】:2021-09-23 09:33:32
【问题描述】:
我对 C++ 和模板还很陌生。我不认为它不起作用的原因很复杂,但我就是不明白。
void print(vector<> v) {
return;
}
无法编译并出现错误
error: wrong number of template arguments (0, should be at least 1)
然而
void print(vector<int> v) {
return;
}
不会产生这样的错误。
这是为什么呢?
【问题讨论】:
-
因为需要提供模板参数...?编译器无法为您决定。也许您可以详细说明为什么您认为第一个示例应该有效。
-
我认为 vector 可以存储任何类型的变量,例如 v.push_back(int); v.push_back(浮动); (显然,这不是它的工作原理......)