[解決済み] 'numeric_limits' がこのスコープで宣言されていないため、'max()' の呼び出しにマッチする関数がない。
2022-02-19 19:25:44
質問
このコードを自宅のMacでxcodeを使ってコンパイルしたところ、何の問題もありませんでした。学校でLinux上のg++でコンパイルしたところ、このようなエラーが発生しました。
numeric_limits' は std のメンバーではありません。
'>'トークンの前に一次式があることが期待されます。
max()' の呼び出しに対応する関数がありません。
#include <iostream>
#include <cstdlib>
using namespace std;
int GetIntegerInput(int lower, int upper)
{
int integer = -1;
do
{
cin >> integer;
cin.clear();
cin.ignore(std::numeric_limits<streamsize>::max(), '\n'); //errors here
} while (integer < lower || integer > upper);
return integer;
}
多分、余分なヘッダーを含めなければならないのだと思います。もし私が
std::
というエラーが出るだけです。
numeric_limits
がこのスコープで宣言されていない
解決方法は?
ヘッダーファイルをインクルードする必要があります。
<limits>
があるところです。
std::numeric_limits
が定義されています。 Macのコンパイラは、このヘッダーファイルを自動的にインクルードすることであなたを助けていましたが、この動作に依存せず、必要なヘッダーファイルは明示的にインクルードする必要があります。
関連
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】非静的メンバ関数への参照を呼び出す必要がある
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み] コンパイラーエラー: memset はこのスコープで宣言されていません。
-
[解決済み] error: 'NULL' はこのスコープで宣言されていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】coutはstdのメンバではない
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】Enterキーを押して続行する