はなぜコンパイラはint&
にchar
を促進することができませんが、参照ツーのconst(int const&
にchar
)によってそれを渡すときに問題はありませんか?参照渡しと積分プロモーション
例コード:
#include <iostream>
using namespace std;
void func1(int & i) { cout << "int & " << i << endl; }
void func2(int const & i) { cout << "const int & " << i << endl; }
int main() {
char mychar = 'a';
func1(mychar); // compiler-error
func2(mychar); // no error
return 0;
}