
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カノニカルモードの設定について
-
ウインドウの移動禁止
-
アドレス渡し?
-
PowerShellにてツリービュー入...
-
(void)0 はどんな意味ですか
-
FortranからCの関数を呼ぶ方法
-
マルチメディアタイマーの使用方法
-
関数宣言で引数に(void)という...
-
C言語 プロトタイプ宣言
-
「Aに対するBの割合」と「Aに対...
-
Aの値からBの値を除するとは??
-
2÷3などの余りについて
-
有効数字について 以前質問をし...
-
隣接行列を読み込んで有向グラ...
-
複数桁10進数の*桁目だけを抽出...
-
Enterキーを押されたら次の処理...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
有効数字(中学1年 東京書籍)
-
変数のスコープ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
静的でないメンバ関数の呼び出...
-
既定のコンストラクタがありま...
-
C++にてtemplateで受け取った任...
-
多重定義が起きている?--lnk20...
-
【gcc・cygwin】multiple defin...
-
const_castのつかいどころを教...
-
戻り値を返す関数の前に(void)...
-
C言語 ① 5秒間 1秒間隔で点滅を...
-
C# Controls.Addで動的に配置し...
-
C#でテンキーの操作は可能でし...
-
int main()、void main()、void...
-
C# KeyDownイベントでショート...
-
gcc: incompatible pointer type
-
Notepad++の関数リスト表示の変...
-
(void)0 はどんな意味ですか
-
VC++でGetKeyboardStateがうま...
-
関数ポインタについて
-
void main()って誰が最初?:AN...
-
演算子のオーバーロードでコン...
-
この式の意味
おすすめ情報