erreur C4430 : spécificateur de type manquant - int supposé. Remarque : C++ ne prend pas en charge l'entier par défaut
//编译出现的错误
error C2146: 语法错误 : 缺少“;”(在标识符“***”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
En résumé, les principales raisons sont les suivantes :
1. (Cette situation se produit souvent dans les projets d'ingénierie à grande échelle) S'il y a deux fichiers d'en-tête de classe ah et bh, il y a une telle déclaration dans ah : #include "bh", et il y a une telle déclaration dans le fichier bh : #include "ah" et qu'il y a un objet d'une autre classe dans une classe, alors une telle erreur se produira.
2. Il n'y a pas de fichier d'en-tête contenant la classe à définir.
3. Il y a moins de définitions de macros dans le projet, ce qui entraîne des définitions répétées de fichiers d'en-tête ou de macros correspondantes qui ne peuvent pas être reconnues.
4. Lorsqu'il existe plusieurs fichiers d'en-tête, l'écriture dans l'ordre inverse peut également provoquer des erreurs connexes. La cause principale est que les instructions précompilées dans les fichiers d'en-tête sont masquées.
par exemple
#include <stdio.h>
#include <Windows.h>
#include <WinCrypt.h>
#include <chaîne.h>
Si le deuxième et le troisième sont inversés, une définition de macro sera annotée par #if et une erreur similaire se produira.
Leçon : N'ajoutez pas de fichiers d'en-tête qui n'ont pas besoin d'être ajoutés à volonté
Article de référence : https://www.cnblogs.com/zhangjing0502/archive/2012/02/29/2373814.html