【发布时间】:2016-02-25 22:55:05
【问题描述】:
template <typename... Args>
void bark( int = 0, Args&&... args ) {}
int main() {
bark();
bark(1);
bark(1, 2);
}
这段代码的格式是否符合 C++ 标准?
建议的副本不包含相同的函数调用。
【问题讨论】:
-
不是重复的:stackoverflow.com/questions/29098835/…,不包含相同形式的调用。
-
对我来说好像是重复的。即使调用不相同,该问题中的答案也会显示标准的两个部分,即即使在这种情况下它也无效。
-
该问题中提出的问题已在 Clang 中修复,但 Clang 仍然拒绝此代码。
-
嗯,我误读了那里答案中的标准 sn-p。根据标准,它实际上 is 应该是有效代码。虽然它仍然是重复的。您的表格与该问题的第一部分相同。
-
我仍然对为什么这不是骗局感到困惑。另一个问题回答了这个问题。
标签: c++ language-lawyer c++14 variadic-templates