次のコードで「オーバーロードされた関数への未定義の呼び出し」エラーが表示されないのはなぜですか? int が組み込み型だからですか?以下のコードのように、標準のどこで組み込み型への変換の保証を見つけることができますか?...ありがとう!
#include <iostream>
using namespace std;
class B {
public:
operator int(){ return 0; }
};
class A {
public:
A( int i ) { };
};
void f ( int i ) { cout << "overload f(int) was used!";};
void f ( A a ) { cout << "overload f(A) was used!" ;};
int main () {
B b;
f( b );
}