私がこれにどのようにしたかの概要。構造た.cppファイルI「はと受信エラー エラーが発生しました ';'前例。
を作るファイル
- 次のコードをコンパイルしようとしています:
#include <iostream> using namespace std; enum UnitType { Meter, Inch }; class Meter { double value; public: Meter(double value) : value(value) {} double convertTo(UnitType unit) { if (unit == Inch) { return value * 39.3700787; } }; }; int main (int argc, char *argv[]) { try { Meter meter(1.0); } catch (int e) { cout << "exception " << e << endl; } return 0; }
しかし、私は次のエラーを受信しています:
$ make [100%] Building CXX object CMakeFiles/convert-length.dir/convert-length.cpp.o /convert/length/convert-length.cpp: In function ‘int main(int, char**)’: /convert/length/convert-length.cpp:27: error: expected ‘;’ before ‘meter’ make[2]: *** [CMakeFiles/convert-length.dir/convert-length.cpp.o] Error 1 make[1]: *** [CMakeFiles/convert-length.dir/all] Error 2 make: *** [all] Error 2
私はこれは私が欠けているどこかの愚かなC++構文エラーで望んでいるが、私はカップルの時間を費やしてきましたそれは成功なしで探しています。私はC++の経験はほとんどありませんが、このコードは構文的に正しいと思われます。誰かが何が間違っているかを知っていますか?
を、あなたは '必要はありません。 – Muggen
'try'ブロック内のコードは例外をスローすることはできません(ライブラリ関数を呼び出さず、動的割り当てを行わず、コードから例外がスローされません) 。 'try'と' catch 'ブロックはまったく必要ありません。 –