コンパイルエラーが発生しても落ち着いて

英語のメッセージに拒絶反応を示さないで

MQL4でEAやインジケーター等を作成してコンパイルすると、エラーが発生することがしょっちゅうあります。

コンパイルエラー

プログラミングに苦手意識を持っている人は、英語のエラーメッセージが出てしまうと、「謎の記号が出た!もうダメだ!」と思考停止になってしまうようです。

でも、恐れないで!

これは、メタエディターが開発者にヒントを与えてくれているのです。

この例で言えば、「’undeclaredVar’ – undeclared identifier」ですね。直訳すると、「undeclaredVar – 宣言されていない識別子」となります。

識別子というのは殆どが変数のことです。宣言というのは「int ***」や「double ***」といったやつです。

つまり、「undeclaredVarの型宣言を忘れていませんか?コードをもう一度確認してください。」と言っているわけです。

このように、エラーメッセージは決して怖い存在なのではなく、開発者を正しい道へと導いてくれる心強いアドバイザーなのです。

ちなみに、エラーメッセージの行をダブルクリックすると、問題のある箇所に自動でジャンプしてくれます!(素敵!)これ、とても重宝します。

ダブルクリックするとエラー箇所にジャンプ

たまに、とんちんかんなエラーメッセージを出力してしまうこともありますが、それはご愛嬌ということで(笑)

//+------------------------------------------------------------------+
//|                                                       Sample.mq4 |
//|                                     Copyright (c) 2016, りゅーき |
//|                                            https://autofx100.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2016, りゅーき"
#property link      "https://autofx100.com/"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
  int var = 2 / 1   // セミコロンの付け忘れ

  return(INIT_SUCCEEDED);  // セミコロンの付け忘れの場合、殆どが見当違いの場所を「おかしい」と指摘しちゃう
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
}

セミコロン付け忘れの場合、間違った場所を指す例

それと、以下のサイトにコンパイルエラーの一覧が纏めてありますので、コンパイルエラーが出てしまった時にご活用ください。具体的には、エラーメッセージを本家で検索し、エラー番号を特定します。そして、その番号を和訳サイトで検索して、どんなエラー内容かを確認します。

Compilation Errors(本家)

コンパイルエラー(和訳)

MT4の無料プログラミング講座

メルマガ登録して、MT4のプログラミング講座を無料で受けちゃおう!

超豪華プレゼントも盛りだくさん♪

MT4プログラミングを習得すると、オリジナルEA運用、作成代行、商品販売等、複数の収入源を手に入れられるよ。副業に最適だね!

↓↓↓ 詳細はこちら ↓↓↓

アイキャッチ

>

エターナル・パートナーPRO ~MT4裁量トレード支援ツール~ 「MT4は裁量トレーダーに優しくない」そう思ったことありませんか?もっと快適にトレードするための強力な売買ツールが必要だと考え、開発したのが「エターナル・パートナーPRO」です。元々は自分自身のために開発したツールですので、手抜き無しのガチものです。既に200名近い方に手に取っていただき、喜びの声が続々と届いております。ぜひご覧ください!

CTR IMG