このコード行はどういう意味ですか?
#define NAME ((LPCSTR) 5)
変数を定義すると、次のNAME *tmp
ように使用します。
((LPCSTR) 5) *tmp;
そのコードは何をしますか?
注:LPCSTR
ですtypedef __nullterminated CONST CHAR *LPCSTR
これは単純なキャストで、5 を文字ポインター ( __nullterminated CONST CHAR *
)に変換します。
これはおそらく標準では定義されていない動作ですが、実際に使用されることもあります。
ご覧のとおり、これは実際にはポインターであるため、試したNAME *tmp;
ことはコンパイルされません。