我用 GCC 和 Clang 尝试了这个程序,但都没有输出
#include <iostream>
struct A {
A(){}
template<typename T>
A(T &) {
std::cout << "copied!";
}
};
void f(...) { }
int main() {
A a;
f(a);
}
根据我的标准阅读,这个程序应该输出"copied!"
. 谁能告诉我是我弄错了还是这两个编译器中的错误?
我用 GCC 和 Clang 尝试了这个程序,但都没有输出
#include <iostream>
struct A {
A(){}
template<typename T>
A(T &) {
std::cout << "copied!";
}
};
void f(...) { }
int main() {
A a;
f(a);
}
根据我的标准阅读,这个程序应该输出"copied!"
. 谁能告诉我是我弄错了还是这两个编译器中的错误?