
No.4ベストアンサー
- 回答日時:
以下のコードで、一応判別できるみたいです。
//typedef unsigned int UINT;
namespace hoge{
typedef void UINT;
}
using namespace hoge;
template <class T, class U>
struct bar
{
static const bool value = false;
};
template <class T>
struct bar<T,T>
{
static const bool value = true;
};
int main()
{
if (bar< ::UINT, unsigned int>::value)
{
cout << "UINT is defined" << endl;
}
else
{
cout << "UINT is not defined" << endl;
}
return 0;
}
No.2
- 回答日時:
これでどうでしょう?
std::pair<unsigned int> UINT(...);
if (sizeof UINT() == sizeof(unsigned int))
{
// UINTの定義あり
}
else
{
// UINTの定義なし
}
定数式で評価できるので、テンプレート実引数に指定することも可能です。静的に何かやりたいときは、テンプレートメタプログラミングを行えばよいでしょう。
No.1
- 回答日時:
C++にはUINTはありません。
UINTはWindowsがWinDef.hで定義している独自型です。
VC6.0などの環境では、typedefはリンク時に解決されるのか、
#ifdef UINTなどでは判別できません。
なので、コンパイルする環境はWindowsであるかどうかで判定
するしかないかと。。。
#ifndef _WIN32
//Windows環境ではないのでUINTは無い
typedef unsigned int UINT;
#endif
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
多重定義が起きている?--lnk20...
-
C#でテンキーの操作は可能でし...
-
静的でないメンバ関数の呼び出...
-
CTabCtrl:TABインデックス単位...
-
戻り値を返す関数の前に(void)...
-
C++にてtemplateで受け取った任...
-
プロセシングの質問です。
-
VC++ DirectShow グラフにフ...
-
【VC++6.0】イベントハンドラ関...
-
関数名の名前の衝突について。
-
C++からCに直したい
-
既定のコンストラクタがありま...
-
コンパイルエラー: LNK2001
-
void*型の配列について
-
Opengl+jpeglibでC3867エラー
-
見た目は同じソースなのにエラ...
-
【gcc・cygwin】multiple defin...
-
->*演算子のオーバーロードにつ...
-
VC++でGetKeyboardStateがうま...
-
Visual Studio 6.0 でSDI開発
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
静的でないメンバ関数の呼び出...
-
【gcc・cygwin】multiple defin...
-
戻り値を返す関数の前に(void)...
-
多重定義が起きている?--lnk20...
-
C++にてtemplateで受け取った任...
-
const_castのつかいどころを教...
-
既定のコンストラクタがありま...
-
C# Controls.Addで動的に配置し...
-
(void)0 はどんな意味ですか
-
C#でラジオボタンを設定に記録...
-
ウインドウの移動禁止
-
Notepad++の関数リスト表示の変...
-
Delphiの定数とローカル変数の...
-
typedef unsigned int UINT;が...
-
int main()、void main()、void...
-
C言語 extern について
-
void*型の配列について
-
VC++でGetKeyboardStateがうま...
-
_beginthreadにて発生するコン...
-
gcc: incompatible pointer type
おすすめ情報