忍者ブログ

えいりあす

C++ の std::numeric_limits で max() が使えない

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

C++ の std::numeric_limits で max() が使えない

プログラミング言語C++であれこれやっている最中、
最大値、最小値を取得したくなり、std::numeric_limitsを使おうとしたら
マクロのmax(a,b)が呼び出されてコンパイルできなかったときのお話
std::numeric_limitsを使うと、値の最大値、最小値を楽々もとめることができます。
いざ、最大値を求めようとstd::numeric_limits<T>::max()を使ってみると
マクロとして定義されているmax(a,b)が呼び出されてしまう。。。

うまくコンパイラできなかったため諦めていたのですが、
そういえばこんな感じの書き方ができたなーと試してみたらうまくいきました。

修正前:std::numeric_limits<int>::max();
修正後:(std::numeric_limits<int>::max)();

うーん・・・やっぱり奥が深いC++

拍手[2回]

コメント

プロフィール

HN:
忘れ傘
性別:
男性
自己紹介:
Linux初心者
知識が浅すぎるので勉強中
あっぷろーだ:wasuregasa
ついったー:@__TIMESTAMP__

P R

最新コメント

[03/27 NONAME]
[03/26 ぽん]
[03/26 ぽん]
[03/17 ぽん]
[03/05 通りすがりのR]