このサイトによると、このコードが正しくない理由を知っている人はいますか:
CString First( "John" );
CString Last( "Doe" );
CString Name;
Name.Format( "%s %s", First, Last ); // Name may be garbage text
Name.Format( "%s %s", (LPCSTR)First, (LPCSTR)Last ); // this is the correct way
CString::Formatの Microsoft ドキュメントには、次のように記載されています。
...オプションの引数として文字列を渡す場合は、LPCTSTR として明示的にキャストする必要があります...
私はいつも「間違った」方法 (LPCSTR キャストなし) を使用していますが、問題はありませんでした。
ここで何か不足していますか?