typedef std::chrono::duration<int, std::ratio_multiply<std::ratio<12, 34>, std::ratio<9>>> irrelevant;
void func(irrelevant){} // comment this out to make it work
void func(std::chrono::seconds){}
void func(std::chrono::minutes){}
int main()
{
func(std::chrono::seconds(43));
}
上面,包含一个接受 an 的重载会irrelevant
导致一堆错误,例如:
'std::ratio_divide<_R1,_R2>::type' 不是 'std::ratio_divide<_R1,_R2>' 基类的成员
真的有什么问题,还是应该归咎于VS2012?我该如何解决它?