C++ を学習しようとしていますが、次のコードが機能しない理由がわかりません。
class String
{
public:
String();
String(const String& other);
String& operator = (const String& other);
String& operator = (const wchar_t* other);
String& operator () (const wchar_t* other);
~String();
operator const wchar_t* ();
...
メイン関数のどこかに:
wchar_t* x = L"A test string";
String y = (String)x; //not working
String z = x; //not working
VC++ コンパイラは次のように教えてくれます。
Error 1 error C2440: 'type cast': cannot convert from 'wchar_t *' to 'String'
Error 2 error C2440: 'initializing': cannot convert from 'wchar_t *' to 'String'
IntelliSense: no suitable constructor exists to convert from "wchar_t *" to "String"
私は何を間違っていますか?