![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
VC++.NETの環境です。
DOWRD dw1 = 1;
int i = 2; と定義し
ここで
if ( i > dw1 ){
何かの処理;
}
とコーディングすると
warning C4018: '>' : signed と unsigned の数値を比較しようとしました。
のワーニングがでます。
これは、DWORDがint型でなくunsigned int型のようにも見えます。
ある本によれば(VC++.V.NET逆引き大全500の極意)
DWORD はint型であると記述されています。
もし、int型ならこのワーニングはでないはずなのですが、
なぜでるのでしょうか。又、DWORDの実際の型は何なのでしょうか。ご存じのかたおりましたら、教えていただけませんでしょうか。
No.2ベストアンサー
- 回答日時:
型定義が知りたいのならば、宣言ファイルを見れば疑問を挟む余地もありません。
DWORD型はwindef.hで
"typedef unsigned long DWORD;"
と宣言されています。
Visual Studioを使っているのならば、知りたい型の上にマウスポインタを置いて右クリック、ポップアップメニューの「定義へ移動」または「宣言へ移動」で簡単に知ることが出来ます。
>DWORD型はwindef.hで
>"typedef unsigned long DWORD;"
>と宣言されています。
具合的な確認方法まで提示していただき、ありがとうございました。
実は、int型とDWORD型はその本によれば同じ型ということなので、使用する変数の型、関数の戻り値を
どちらにするかで悩んでいました。(UNIXからの移植もありint型にする方を優先していましたが)
これで、int型で統一し、DWORD型がunsigned intの用途の場合にのみ使用するようにする根拠がもてました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# アセンブラ指令 3 2023/06/17 14:47
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Windows 10 (続き2)2つのウィンドウ選択時の表示について 3 2023/08/21 22:41
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
DWORDとcharの変換
C言語・C++・C#
-
DWORDって
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
-
4
#include <Windows.h>というヘッダファイルについて
C言語・C++・C#
-
5
CString から LPCTSTRの型に変換
C言語・C++・C#
-
6
WORD型をCString型に変換する方法
C言語・C++・C#
-
7
charからLPTSTRへの変換方法
C言語・C++・C#
-
8
char*を初期化したいのですが
C言語・C++・C#
-
9
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
10
適切な変換関数が存在しない???
C言語・C++・C#
-
11
WaitForSingleObjectの使い方について
C言語・C++・C#
-
12
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
13
VC++から引数付きexeファイルの実行
C言語・C++・C#
-
14
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
15
0xffffとは?
C言語・C++・C#
-
16
wsprintf関数の使い方について
C言語・C++・C#
-
17
UpdateData( FALSE); による文字列データの表示更新(VC++6.0)
C言語・C++・C#
-
18
GetPrivateProfileStringでiniファイル読込む処理を詳しく知りたいのですが・・・
C言語・C++・C#
-
19
CStringをwchar_tに変換したい
C言語・C++・C#
-
20
DWORDの警告
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
typedef enumの使い方を教えて...
-
2重定義って??
-
visualstudio C# テキストボッ...
-
VC6でlong longでエラー?
-
int void (main)の意味・・・
-
intとINTの違いは?
-
C++ クラスをメンバにもつクラ...
-
long型の定数の末尾にLを付ける...
-
C++のfor文について
-
引数で argc argvが使用され...
-
C++でboolにintの値を代入する...
-
ハンドルされていない例外が発...
-
直接アドレス指定のポインタの...
-
inline
-
C言語での方向キー入力判定
-
void func( void )について
-
【#define】 defineで定義した...
-
C言語の<ctype.h>のisspace()に...
-
C言語のコンパイルエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
long型の定数の末尾にLを付ける...
-
2重定義って??
-
visualstudio C# テキストボッ...
-
C++のfor文について
-
構造体の要素すべてに対する四...
-
typedef enumの使い方を教えて...
-
変数の型を定義しなかった場合...
-
ハンドルされていない例外が発...
-
関数の実体定義にヘッダファイ...
-
intとINTの違いは?
-
【#define】 defineで定義した...
-
C++でboolにintの値を代入する...
-
構造体の宣言でエラーが出ます。
-
main.c:7:43: warning: implici...
-
プログラムの中で別のmainを呼...
-
void func( void )について
-
エラー「invalid conversion fr...
-
C言語 宣言した変数になにも代...
-
0除算を判定したい
おすすめ情報