2011-09-15 8 views
3

私はプログラミングを学ぶためにC++の教科書を使いこなそうとしていますが、いくつかのサンプルコードで問題が発生しました。目標は単純な電卓プログラムを書くことであり、テキストはコードの一部を例として提供します。一部は次のとおりです。C++ Beginner - コード内のコマンドとして 'error'

if(!cin)error( "no second operand");

テキストは「エラー」のように見えますが、入力が間違っていると出力されますが、「エラー」は定義されていません。テキストの単語からコードをコピーしているので、コンパイラで何か不足しているかどうか、コードを書く方法を誤解しているかどうかはわかりません。誰も助言を与えることができますか?

+0

この誤差関数は、以前に使用されていますか?コード例としては?教科書にもあなたはそのコードを含めることを期待しているかもしれません。 –

+4

通常、本は "void error(const char * str){printf(str); exit(1);}のような独自のエラー関数を定義しています。 –

答えて

1

私はStroustrupのプログラミングの原則と実践であると仮定しますか? 149と150ページをチェックしてください。

ヘッダファイルにこのコードを入れて、プログラム例では、それを含める:

#include <stdexcept> 

void error(string s) 
{ 
    throw runtime_error(s); 
} 

void error(string s1, string s2) 
{ 
    throw runtime_error(s1+s2); 
} 
5

error()の定義が不足している必要があります。これはC++の機能ではないため、書籍のどこかにある必要があります。

1

おそらく(著者の)あなたがそのコードをコンパイルしようとするのではなく、単にその例を理解して自分で実装することを意味します。

関連する問題