C言語なら俺に聞け(入門編)Part 60
■ このスレッドは過去ログ倉庫に格納されています
0558デフォルトの名無しさん
2010/02/19(金) 01:53:32#include <windows.h>
#include <tchar.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow){
ULARGE_INTEGER FreeBytesAvailableToCaller;
FreeBytesAvailableToCaller.QuadPart = 1;
TCHAR tnob[256] = _T("a1");
return 0;
}
なぜかこれをコンパイルすると、
error C2275: 'TCHAR' : illegal use of this type as an expression
というエラーになります。tchar.hをインクルードしているのに、TCHARが使えないなんてありえないと思うのですが。
しかし、
#include <windows.h>
#include <tchar.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow){
ULARGE_INTEGER FreeBytesAvailableToCaller;
TCHAR tnob[256] = _T("a1");
return 0;
}
こうすると、なぜか上記のエラーはなくなります。
いったいなぜなんでしょうか?ULARGE_INTEGERのQuadPartはULONGLONG型であり、普通に1を代入できるはずなのですが。
そもそも、ここがおかしいのと、TCHARが使えないことに関係はないと思うのですが。
解決策わかるかたおられますか?
■ このスレッドは過去ログ倉庫に格納されています