我正在阅读Scott Meyers撰写的有效的现代C ++从第27项超载通用参考文献。
我正在编译ulimit -s
VC++ 2012
我面临编译错误,如下所示:
#include <iostream>
#include <type_traits>
template <typename T>
void logAndAddImpl(T&& name, std::false_type) {
std::cout << " Reference type " << std::endl;
}
template <typename T>
void logAndAddImpl(int Idx, std::true_type) {
std::cout << "int type" << std::endl;
}
template<typename T>
void logAndAdd(T&& name) {
logAndAddImpl(std::forward<T>(name), std::is_integral<typename std::remove_reference<T>::type>());
}
int main() {
int i = 10;
logAndAdd(i);
return 0;
}