class A
{
public:
// void func( const int ) const {} // если заменить на это - будет компилироватьсяvoid func( constint ) {}
// void func( const int& ) const {} // если заменить на это - будет компилироватьсяvoid func( constint& ) {}
};
voidOnStart()
{
A a;
a.func(0);
int i1 = 0;
a.func(i1);
constint i2 = 0;
a.func(i2); // 'func' - ambiguous call to overloaded function with the same parameters
}
CopySpread()函数对相应的图表周期 会产生什么价差值?
不清楚它是平均数、最小数还是最大值,函数的帮助也没有说什么。
CopySpread()函数对相应的图表周期 会产生什么价差值?
不清楚它是平均数、最小数还是最大值,函数的帮助也没有说什么。
其中,在账户或测试器中
对具有相同参数的重载函数 的模棱两可的调用
这是一个误解还是一个错误?
这是我的误解还是一个错误?
对具有相同参数的重载函数的模棱两可的调用
这是一个误解还是一个错误?
误解。
好了,就这样吧,我已经回答了。))))
根据我的理解,这段代码在两种情况下的表现必须是一样的。
这也是我的想法。
误解。
好了,就这样吧,我已经回答了。))))
那个愚蠢的源代码例子花了很长时间来创建。在我创作的时候,我的幽默感几乎消失了。
这个哑巴来源的例子花了很长时间来创建。在我创作的时候,我的幽默感几乎消失了。
(笑) 好的。)
在所有三个版本的调用中,都无法理解参数是通过值还是通过引用传递的,所以编译器无法选择调用哪个函数。而const修饰符可以重载它们:void f(){}和void f() const {}是不同的函数。如果在你的例子中,你将其中一个方法声明为常量,那么不确定性将消失:编译器将根据是否从常量对象中调用来选择所需的方法(在你的例子中参数的类型并不重要)。
你的对象a不是一个常数,所以没有const的方法将被调用三次。如果你把一个对象声明为常量(A const a;),那么一个常量方法 就会被调用。
看看输出会是什么。
很好。)
在所有三种变体的调用中,不可能理解一个参数是通过值还是通过引用传递的,这就是为什么编译器不能选择调用哪个函数。而const修饰符对它们进行了重载:void f(){}和void f() const {}是不同的函数。如果在你的例子中,你将其中一个方法声明为常量,那么不确定性将消失:编译器将根据是否从常量对象中调用来选择所需的方法(在你的例子中参数的类型并不重要)。
你的对象a不是一个常数,所以没有const的方法将被调用三次。如果你把对象声明为常量(A const a;),那么常量方法 将被调用。
在此之前的所有电话都顺利通过,没有任何问题。
看看它打印出了什么。
这是来自另一个主题。