Erreurs de Compilation

MetaEditor 5 affiche les messages des erreurs des programmes détectées pendant la compilation par le compilateur intégré. La liste de ces erreurs est donnée ci-dessous dans le tableau. Pour compile un code source en un fichier exécutable, appuyez sur la touche F7. Les programmes qui contiennent des erreurs ne peuvent pas être compilés tant que les erreurs identifiées par le compilateur ne sont pas corrigées.

Code

Description

100

Erreur de lecture du fichier

101

Erreur d'ouverture d'un fichier *. EX5 en écriture

103

Pas assez de mémoire pour terminer la compilation

104

Unité syntaxique vide non reconnue par le compilateur

105

Nom de fichier incorrect dans #include

106

Erreur d'accès au fichier spécifié dans le #include (le fichier n'existe probablement pas)

108

Nom inapproprié pour le #define

109

Commande de préprocesseur inconnue (valider les #include, #define, #property, #import)

110

Symbole inconnu pour le compilateur

111

Fonction non implémentée (la description est présente, mais pas le corps de la fonction)

112

Il manque un guillemet (double quote - ")

113

Il manque un chevron (<) ou un guillemet (")

114

Il manque une apostrophe (single quote - ') omitted

115

Il manque un chevron ">"

116

Type non spécifié dans la déclaration

117

Aucun opérateur de retour, ou return n'existe pas dans toutes les branches de l'implémentation

118

Parenthèse ouvrante attendue

119

Erreur d'écriture du fichier EX5

120

Accès invalide à un tableau

121

La fonction n'est pas de type void et l'opérateur return doit retourner une valeur

122

Déclaration incorrecte du destructeur

123

Symbole ":" manquant

124

Variable déjà déclarée

125

Une variable avec cet identifiant existe déjà

126

Nom de la variable trop long (> 250 caractères)

127

Une structure avec cet identifiant est déjà définie

128

La structure n'est pas définie

129

Un membre de la structure est déja défini avec ce nom

130

Pas de membre de la structure avec ce nom

131

Les parenthèses ne correspondent pas

132

Parenthèse ouvrant "(" attendue

133

Parenthèse fermante manquante

134

Trop difficile à compiler (trop de branchements, niveaux de pile interne sur-remplis)

135

Erreur d'ouverture du fichier en lecture

136

Pas assez de mémoire pour télécharger le fichier source en mémoire

137

Variable attendue

138

La référence ne peut pas être initialisée

140

Assignement attendu (apparaît à la déclaration)

141

Parenthèse ouvrante "{" attendue

142

Le paramètre ne peut être qu'un tableau dynamique

<143

Utilisation impossible du type "void"

144

Parenthèse ou crochet ouvrant manquant

145

Parenthèse ou crochet fermant manquant

146

Taille de tableau incorrecte

147

Trop de paramètres (> 64)

149

Cet élément n'est pas attendu ici

150

Utilisation incorrecte de l'opération (opérandes invalides)

151

Expression de type void non autorisée

152

Opérateur attendu

153

Mauvaise utilisation de break

154

Point virgule ";" attendu

155

Virgule "," attendue

156

Doit être de type class, et non pas struct

157

Expression attendue

158

Caractère non hexadécimal trouvé dans HEX ou nombre trop grand (nombre de chiffres > 511)

159

Chaîne de caractères constante de plus de 65534 caractères

160

Une définition de fonction n'est pas possible ici

161

Fin du programme non attendue

162

Les déclarations forward sont interdites pour les structures

163

Une fonction avec ce nom est déjà définie et a un autre type de retour

164

Une fonction avec ce nom est déjà définie et a un ensemble de paramètres différent

165

Une fonction avec ce nom est déjà définie et est déjà implémentée

166

La surcharge de fonction pour cet appel n'a pas été trouvé

167

Une fonction avec une valeur de retour de type void ne peut pas retourner de valeur

168

Fonction non définie

170

Valeur attendue

171

Dans une expression case, seules des constantes de type integer sont valides

172

La valeur du case dans ce switch est déjà utilisée

173

Integer attendu

174

Dans l'expression #import, un nom de fichier est attendu

175

Les expressions ne sont pas autorisées au niveau global

176

Parenthèse fermante ")" manquante avant ";"

177

Une variable est attendue à gauche du signe d'égalité

178

Le résultat de l'expression n'est pas utilisé

179

Les déclarations de variables ne sont pas autorisées dans un case

180

Conversion implicite d'une chaîne de caractères en nombre

181

Conversion implicite d'un nombre en une chaîne de caractères

182

Appel ambigu à une fonction surchargée (plusieurs surcharges conviennent)

183

else illégal sans if correspondant

184

case invalide ou default sans switch

185

Utilisation inappropriée d'une ellipse

186

La séquence d'initialisation a plus d'éléments que la variable initialisée

187

Constante attendue pour le case

188

Expression constante attendue

189

Une variable constante ne peut pas être modifiée

s190

Parenthèse fermante ou virgule attendue (lors de la déclaration d'un membre du tableau)

191

Identifiant d'énumération déjà défini

192

Une énumération ne peut pas avoir de modificateurs d'accès (const, extern, static)

193

Membre d'énumération déjà déclaré avec une valeur différente

194

Une variable avec ce nom est déjà définie

195

Une structure avec ce nom est déjà définie

196

Nom du membre de l'énumération attendu

197

Expression de type integer attendue

198

Division par zéro dans une expression constante

199

Nombre incorrect de paramètres dans la fonction

200

Le paramètre par référence doit être une variable

201

Une variable de même type passée par référence attendue

202

Une variable constante ne peut pas être passée par une référence non constante

203

Nécessite une constante integer positive

204

Echec d'accès au membre protected de la classe

205

Import déjà défini d'une autre façon

208

Fichier exécutable non créé

209

Point d'entrée 'OnCalculate' entry non trouvé pour l'indicateur

210

L'opération continue ne peut être utilisée que dans une boucle

211

Erreur d'accès à un membre privé de classe

213

Méthode de structure ou de classe non déclarée

214

Erreur d'accès à une méthode privée de classe

216

Copie de structures contenant des objets non autorisée

218

Indice en dehors de l'intervalle du tableau

219

Initialisation du tableau dans la déclaration d'une classe ou d'une structure non autorisée

220

Le constructeur de classe ne peut pas avoir de paramètres

221

Un destructeur de classe ne peut pas avoir de paramètres

222

Une méthode de classe ou de structure avec le même nom et les mêmes paramètres est déjà déclarée

223

Opérande attendue

224

Une méthode de class ou de structure avec le même nom existe déjà, mais avec des paramètres différents (déclaration!=implémentation)

225

Fonction importée non décrite

226

ZeroMemory() n'est pas autorisée pour les objets ayant des membres protected ou ayant de l'héritage

227

Appel ambigu à la surcharge de fonction (correspondance exacte des paramètres pour plusieurs surcharges)

228

Nom de variable attendu

229

Une référence ne peut pas être déclarée ici

230

Déjà utilisé comme nom de l'énumération

232

Classe ou structure attendue

235

Ne peut appeler l'opérateur 'delete' pour supprimer le tableau

236

Opérateur ' while' attendu

237

L'opérateur 'delete' doit avoir un pointeur

238

'default' déjà existant pour ce 'switch'

239

Erreur de syntaxe

240

Une séquence d'échappement ne peut apparaître que dans une chaîne de caractères (commence avec '\')

241

Tableau requis - le crochet ouvrant '[' ne s'applique pas à un tableau, ou autre chose qu'un tableau est passé comme paramètre au tableau

242

Ne peut pas être initialisé avec la liste d'initialisation

243

Import non défini

244

Erreur d'optimisation sur l'arbre syntaxique

245

Trop de structures déclarées (essayez de simplifier le programme)

246

Conversion du paramètre non autorisée

247

Utilisation incorrecte de l'opérateur 'delete'

248

Il n'est pas autorisé de déclarer un pointeur sur une référence

249

Il n'est pas autorisé de déclarer une référence sur une référence

250

Il n'est pas autorisé de déclarer un pointeur sur un pointeur

251

La déclaration de structure dans la liste des paramètres n'est pas autorisée

252

Opération de casting de type invalide

253

Un pointeur ne peut être déclaré que pour une classe ou une structure

256

Identifiant non déclaré

257

Erreur d'optimisation du code exécutable

258

Erreur de génération du code exécutable

260

Expression invalide pour l'opérateur 'switch'

261

Pool de constantes de type chaînes de caractères rempli, simplifiez le programme

262

Impossible de convertir vers une énumération

263

Ne pas utiliser 'virtual' pour les données (membres de classe ou de structure)

264

Ne peut pas appeler une méthode protected de classe

265

Fonctions virtuelles surchargées avec des types de retour différents

266

Une classe ne peut pas dériver d'une structure

267

Une structure ne peut pas dériver d'une classe

268

Un constructeur ne peut être virtuel (le spécificateur virtual n'est pas autorisé)

269

Une méthode d'une structure ne peut pas être virtuelle

270

La fonction doit avoir un corps

271

La surcharge de fonctions système (fonctions du terminal) n'est pas autorisée

272

Spécificateur Const invalide pour les fonctions non membres d'une classe ou d'une structure

274

Impossible de changer un membre de classe dans une méthode constante

276

Séquence d'initialisation inappropriée

277

Valeur par défaut manquante pour le paramètre (déclaration spécifique des paramètres par défaut)

278

Surcharge du paramètre par défaut (différentes valeurs dans la déclaration et dans l'implémentation)

279

Il n'est pas autorisé d'appeler une méthode non constante pour un objet constant

280

Un objet est nécessaire pour accéder aux membres

281

Le nom d'une structure déjà déclarée ne peut pas être utilisé dans la déclaration

284

Conversion non autorisée (héritage fermé)

285

Les structures et tableaux ne peuvent pas être utilisés comme variables d'entrée

286

Le spécificateur const n'est pas valide pour les constructeurs/destructeurs

287

Expression de chaîne de caractères incorrecte pour une datetime

288

Propriété inconnue (#property)

289

Valeur de propriété incorrecte

290

Indice de propriété invalide dans #property

291

Paramètre d'appel manquant - <func (x,)>

293

L'objet doit être passé par référence

294

Le tableau doit être passé par référence

295

La fonction est déclarée comme exportable

296

La fonction n'est pas déclarée comme exportable

297

Il est interdit d'exporter une fonction importée

298

Les fonctions importées ne peuvent pas avoir ce paramètre (il est interdit de passer un pointeur, une classe ou une structure contenant un tableau dynamique, un pointeur, une classe, etc.)

299

Doit être une classe

300

#import non fermé

302

Les types ne correspondent pas

303

Variable externe déjà initialisée

304

Aucune fonction exportée ou point d'entrée trouvé

305

L'appel à un constructeur explicite n'est pas autorisé

306

Méthode déclarée comme constante

307

Méthode non déclarée comme constante

308

Taille incorrecte du fichier de ressource

309

Nom de ressource incorrect

310

Erreur d'ouverture du fichier de ressource

311

Erreur de lecture du fichier de ressource

312

Type de ressource inconnu

313

Chemin vers le fichier de ressorce incorrect

314

Le nom spécifié de la ressource est déjà utilisé

315

Argument attendu pour la macro

316

Symbole inattendu dans la définition de la macro

317

Erreur dans les paramètres de la macro

318

Nombre invalide de paramètres pour la macro

319

Trop de paramètres pour la macro

320

Trop complexe, simplifiez la macro

321

Le paramètre pour EnumToString() ne peut être qu'une énumération

322

Le nom de la ressource est trop long

323

Format d'image non supporté (seul les BMP en 24 ou 32 bits sont supportées)

324

Un tableau ne peut être déclaré dans un opérateur

325

La fonction ne peut être déclarée qu'au niveau global

326

La déclaration n'est pas autorisée dans la portée actuelle

327

L'initialisation de variables statiques avec les valeurs de variables locales n'est pas autorisée

328

Déclaration illégale d'un tableau d'objets n'ayant pas de constructeur par défaut

329

Les listes d'initialisation ne sont autorisées que dans les constructeurs

330

Pas de définition de fonction avec la liste d'initialisation

331

Liste d'initialisation vide

332

L'initialisation d'un tableau dans un constructeur n'est pas autorisée

333

L'initialisation de membres d'une classe parente dans la liste d'initialisation n'est pas autorisée

334

Expression de type integer type attendue

335

La mémoire requise pour le tableau excède la valeur maximum

336

La mémoire requise pour la structure excède la valeur maximum

337

La mémoire requise pour les variables déclarées au niveau global excède la valeur maximum

338

La mémoire requise pour les variables locales excède la valeur maximum

339

Constructeur non défini

340

Nom invalide pour le fichier d'icone

341

Impossible d'ouvrir le fichier d'iconeavec le chemin spécifié

342

Le fichier d'icone est incorrect est n'est pas au format ICO

343

Réinitialisation d'un membre dans le constructeur de la classe/structure par la liste d'initialisation

344

L'initialisation de membres statiques dans la liste d'initialisation du constructeur n'est pas autorisée

345

L'initialisation d'un membre non-statique d'une classe/structure à un niveau global n'est pas autorisée

346

Le nom de la méthode de la classe/structure correspond au nom d'un membre déclaré auparavant

347

Le nom d'un membre de la classe/structure correspond au nom d'une méthode déclarée auparavant

348

Une fonction virtuelle ne peut pas être déclarée comme statique

349

Le modificateur const n'est pas autorisé pour les fonctions statiques

350

Un constructeur ou un destructeur ne peut pas être statique

351

Un membre ou une méthode non statique d'une classe ou d'une structure ne peut pas être accédée depuis une fonction statique

352

Une surcharge (+,-,[],++,--, etc.) est attendue après le mot-clé operator

353

Toutes les opérations ne peuvent pas être surchargées en MQL5

354

La définition ne correspond pas à la déclaration

355

Un nombre invalide de paramètres est spécifié pour l'opérateur

356

Fonction de gestion d'évènement non trouvée

357

La méthode ne peut pas être exportée

358

Un pointeur sur un objet constant ne peut pas être normalisé par un objet non constant

359

Les templates de classe ne sont pas encore supportés

360

La surcharge d'un template de fonction n'est pas encore supporté

361

Le template de fonction ne peut pas être appliqué

362

Paramètre ambigu dans le template de fonction (plusieurs types de paramètres peuvent être appliqués)

363

Impossible de déterminer le type du paramètre avec lequel l'argument de la fonction templatée devrait être appelée

364

Nombre incorrect de paramètres dans le template de la fonction

365

Un template de fonction ne peut pas être virtuel

366

Les templates de fonctions ne peuvent pas être exportés

367

Les templates de fonctions ne peuvent pas être importés

368

Les structures contenant des objets ne sont pas autorisées

369

Les tableaux de chaînes de caractères et les structures contenant des objets ne sont pas autorisés

370

Un membre statique de classe/structure doit être initialisé explicitement

371

Limitation du compilateur : une chaîne de caractères ne peut pas contenir plus de 65 535 caractères

372

#ifdef/#endif inconsistents

373

Un objet de cette classe ne peut pas être retourné car aucun constructeur par copie n'existe

374

Les membres et méthodes non statiques ne peuvent pas être utilisés

375

Impossible d'utiliser OnTesterInit() sans OnTesterDeinit()

376

Redéfinition du paramètre formel '%s'

377

Les macros __FUNCSIG__ et __FUNCTION__ ne peuvent pas apparaître en dehors du corps d'une fonction

378

Type de retour invalide Par exemple, cette erreur sera produite pour les fonctions importées de DLL retournant une structure ou un pointeur.

379

Erreur d'utilisation du template

380

Non utilisé

381

Syntaxe illégale lors de la déclaration d'une fonction virtuelle pure, seuls "=NULL" ou "=0" sont autorisés

382

Seules les fonctions virtuelles peuvent être déclarées avec le spécificateur pure ("=NULL" ou "=0")

383

Une classe abstraite ne peut pas être instanciée

384

Un pointeur sur un type utilisateur devrait être mis comme type de destination pour un cast dynamique en utilisant l'opérateur dynamic_cast

385

Un type "pointeur sur fonction" est attendu

386

Les pointeurs sur méthodes ne sont pas supportés

387

Erreur — ne peut pas définir le type d'un pointeur sur une fonction

388

La cast de type n'est pas possible en raison de l'héritage privé

389

Une variable avec le modificateur const doit être initialisée pendant la déclaration

393

Seules les méthodes avec un accès public peuvent être déclarées dans une interface

394

Imbrication invalide d'une interface dans une autre interface

395

Une interface ne peut dériver que d'une autre interface

396

Une interface est attendue

397

Les interfaces ne supportent que l'héritage public

398

Une interface ne peut pas contenir de membres

399

Les objets interface ne peuvent pas être créés directement, ils ne peuvent qu'utiliser l'héritage

400

Un spécificateur ne peut pas être utilisé dans une déclaration de type forward

401

Héritage de la classe impossible, puisqu'elle est déclarée avec le spécificateur final

402

Ne peut pas redéfinir une méthode déclarée avec le spécificateur final

403

Le spécificateur final ne peut être appliqué qu'aux fonctions virtuelles

404

La méthode marquée avec le spécificateur override ne surcharge aucune fonction de la classe de base

405

Un spécificateur n'est pas autorisé dans la définition d'une fonction, seulement dans sa déclaration

406

Ne peut pas convertir le type dans le type demandé

407

Le type ne peut pas être utilisé pour une variable ressource

408

Erreur dans le fichier projet

409

Ne peut pas être utilisé comme membre d'une union

410

Choix ambigü pour le nom, le contexte d'usage doit être défini explicitement

411

La structure ne peut pas être utilisée depuis une DLL

412

Ne peut pas appeler une fonction marquée avec le spécificateur delete

413

MQL4 non pris en charge. Pour compiler le programme, utilisez MetaEditor dans le dossier d'installation du terminal MetaTrader 4