文字列をリソースに移動しました。幸い、LPCTSTR演算子を使用して、次のように文字列を便利にインスタンス化できます。
CString str( (LPCSTR) IDS_MY_STRING);
次に、MessageBox()を使用して同様の型キャストを実行し、リソースから文字列もロードするようにします。これにより、次のようになります。
MessageBox( hWnd, (LPCTSTR) IDS_MY_STRING ,"Error", MB_RETRYCANCEL);
しかし、これは機能せず、コンパイルされますが、実行時にクラッシュします。これで、次のことが機能します。
MessageBox( hWnd, (CString) (LPCTSTR) IDS_MY_STRING ,"Error", MB_RETRYCANCEL);
私の質問は、MessageBox()がLPCTSTRを2番目のパラメーターとしてとにかく取るということですが、なぜこれを機能させるためにLPCTSTRからCStringに追加で型キャストする必要があるのですか?