2

これらのタイプがすべて同じかどうかを理解しようとしています。私はwindows.hからこの関数を持っています: モードで、それは a を返しGetCommandLine()ます。ここで、さらに深く掘り下げると、それが(16 バイト) または(32 バイト)であることがわかります。それでも、私がこれを行うと:UNICODELPWSTRLPWSTRwchar_t*wchar_tunsigned shortunsigned long

unsigned short* SysComm = GetCommandLine();

次のエラーが表示されます。

初期化で 'LPWSTR {aka wchar_t*} から 'short unsigned int*' に変換できません

それで、コンパイラは同じロジックに従って、それが最後にあるのか、それとも私が間違っているのかを見つけますLPWSTRunsigned short*?

4

1 に答える 1

3

wchar_t他の整数型の 1 つと同じプロパティを持つように定義されている特殊な型です。

タイプwchar_tは特殊タイプです [...]。型は、基になる typewchar_tと呼ばれる他の整数型の 1 つと同じサイズ、符号、およびアラインメント要件 (3.11) を持たなければなりません。

したがって、 a から a への変換と同様に、 a からawchar_t*への変換を暗黙的に行うことはできません。short*int*short*

于 2013-04-26T09:36:01.577 に答える