c++ - 为什么两个函数不会产生二义性?

标签 c++ oop overloading ambiguity

我的遗留代码具有以下构造函数。

CAgs (int ar, bool isReady);
CAgs (int ar, const char* options[][2] = NULL); 

正在编译,但是会不会是二义调用?如果我调用 CAgs (10, 0);,哪个构造函数会被调用?

此行为是否依赖于编译器?

最佳答案

它应该是不明确的。

gcc

clang

vc++

关于c++ - 为什么两个函数不会产生二义性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25909051/

相关文章:

java - 特殊字符使我的程序崩溃?

java - 制作许多通用对象的最佳方法

c# - 内插字符串的原始类型是什么?

java - NavigableSet<String> 与方法参数中的 Collection<Object> 不匹配

c++ - STL - 将值添加到存储在 STL 映射中的 vector

c++ - 简单的 3D 数组 C++

C++ #include 语句

c++ - 对象 Pascal 上的 C 回调函数崩溃

oop - 每个单独的对象都应该有一个接口(interface)并且所有对象都松散耦合吗?

c++ - 智能指针能否有选择地隐藏或重定向函数调用到它们正在包装的对象?