Erreur QT C4430 : spécificateur de type manquant - int supposé. Remarque : C++ ne prend pas en charge l'entier par défaut

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

Je suppose que tu aimes

Origine blog.csdn.net/qq_40041064/article/details/103954802
conseillé
Classement