オブジェクト a3 を使用して「explicit a (string x)」を呼び出すことができません。次のような 2 つのコンパイル エラーが発生しました。
[エラー] 'const char*' から 'int' への無効な変換 [-fpermissive]
[エラー] 'a::a(int)' の引数 1 を初期化中 [-fpermissive]
私の予想される出力は 'int int double string'; です。
誰かがこれらのエラーを削除するのを手伝ってくれませんか? 貴重な時間をありがとう。
#include<iostream>
#include<string.h>
using namespace std;
struct a{
a(int x=0){cout<<" int ";
}
inline a (double x){cout<<" double ";
}
explicit a (string x){ cout<<" string ";
}
};
int main()
{
a a0(NULL);
a a1=9;
a a2=1.1;
a a3=("Widf"); //Error
}