質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

5007閲覧

C++ エラー

kei_10

総合スコア37

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1グッド

0クリップ

投稿2017/03/28 09:18

編集2017/03/28 14:56

『基礎からしっかり学ぶC++の教科書』という本に載っていたサンプルコードですがコンパイル時にエラーが出てしまいました。
どこが誤っているのかご教授お願いします。

g++(GCC)のバージョンは5.3.0です。

C++

1#include <iostream> 2#include <limits> 3using namespace std; 4 5int main() { 6 cout << 7 numeric_limits<int>::lowest() << ", " << 8 numeric_limits<int>::max() << endl; 9}

また、このコードは下記のURLからダウンロードできます。
http://ec.nikkeibp.co.jp/nsp/dl/09893/index.shtml

コンパイラーは
error: 'lowest' is not a member of 'std::numeric_limits<int>'
と言っております。

faithandbrave👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faithandbrave

2017/03/28 14:35

「とある本」ではなく出典を明確にしましょう。
kei_10

2017/03/28 14:46

著作権の侵害に当たらないかが不安なため、また大きく必要性が感じられなかったので「とある」とさせていただきました。
faithandbrave

2017/03/28 14:53 編集

引用は著作権の侵害に当たりません。ただし、引用は出典を明記することが求められます。つまり、出典元を明記しない引用こそが著作権の侵害に当たります。 「他人の著作物を適法に「引用」する際のルール【弁護士が教えるEC運営者のためのIT著作権法対策④】」 http://ec-houmu.com/right/chosakuken_quotation.html
kei_10

2017/03/28 14:53

なるほど、分かりました。ご指摘ありがとうございます。
faithandbrave

2017/03/28 14:57

対応ありがとうございます。
guest

回答2

0

ベストアンサー

こんにちは。

std::numeric_limits<>lowest()はc++11で追加されました。
gccはc++11規格でコンパイルすることを指定する必要があります。-std=c++11オプションをつけてコンパイルすれば通る筈です。

投稿2017/03/28 09:29

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei_10

2017/03/28 09:33

素人の質問で申し訳ないのですが、オプションをつける、というのはどのような操作をしたら良いのでしょうか。
Chironian

2017/03/28 09:39

もし、コマンドラインでコンパイルされているのなら、例えば下記の通りです。 > g++ ソース.cpp -std=c++11
kei_10

2017/03/28 09:50 編集

’g’ does not name a typeとでてしまいました。 どのようにしたらよいでしょうか。
guest

0

main関数の戻り値がintなのに、return文が存在しないことではないでしょうか。

C++

1int main() { 2 cout << 3 numeric_limits<int>::lowest() << ", " << 4 numeric_limits<int>::max() << endl; 5 return 0; 6}

投稿2017/03/28 09:22

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei_10

2017/03/28 09:25

ご回答ありがとうございます。 return文を加えても上記のエラーが出てしまいました。
faithandbrave

2017/03/28 14:33

C++において、main関数のreturn文を省略したら0が返ることが規定されています。この回答は間違った情報です。 C++14(ISO/IEC 14882:2014) 3.6.1 Main function [basic.start.main] パラグラフ5に、以下のようにあります。 「If control reaches the end of main without encountering a return statement, the effect is that of executing return 0;」 「main関数がreturn文に到達することなく終了した場合、その効果はreturn 0;を実行したものとなる」
kei_10

2017/03/28 14:52

丁寧なご指摘ありがとうございます。このことは私も知りませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問