【发布时间】:2017-02-08 15:02:08
【问题描述】:
运行下面的代码,好像编译器定义了一个空的 printf();
template<typename T>
void printf(T value) {
std::cout << value << std::endl;
cout << "case 1" << endl;
}
template<typename T, typename... Args>
void printf(T value, Args... args) {
printf(value);
cout << "...";
printf(args...);
cout << "case 2" << endl;
}
int main() {
printf(1, 2, "123", 1.1);
return 0;
}
我正在使用带有最新补丁的 vs 2015。输出是:
1
case 1
...2
case 1
...123...1.1
case 1
case 2
case 2
case 2
【问题讨论】:
标签: c++ c++11 visual-c++ visual-studio-2015