【发布时间】:2012-01-07 17:01:18
【问题描述】:
编译时
void ambig( signed long) { }
void ambig(unsigned long) { }
int main(void) { ambig(-1); return 0; }
我明白了
error C2668: 'ambig' : ambiguous call to overloaded function
could be 'void ambig(unsigned long)'
or 'void ambig(long)'
while trying to match the argument list '(int)'
我知道我可以通过说 -1L 而不是 -1 来“修复”它,但是为什么/如何确切地认为这首先是模棱两可的?
【问题讨论】:
标签: c++ visual-c++ ambiguity