C++ compiler error c4430 “c++ ne supporte pas par défaut int”
Hi im essayant de définir un alias appelé USHORT.
//*****************
//Demonstrates typedef keyword
#include <iostream>
typedef unsigned short int USHORT; //typedef defined
main()
{
USHORT Width = 5;
USHORT Length;
Length = 10;
USHORT Area = Width * Length;
std::cout << "Width:" << Width << "\n";
std::cout << "Length: " << Length << std::endl;
std::cout << "Area: " << Area;
}
Je reçois une erreur de compilation, en disant:
Erreur 1 error C4430: spécificateur de type manquant - int assumé. Remarque: C++ ne prend pas en charge par défaut-int c:\users\naqvi-home\documents\justit\c++\w1\cp1\list0304.cpp 8 1 ConsoleApplication3
Grâce
Ray
La ligne est l'erreur????
il dit que l'erreur est sur la ligne 8, ou autour de la ligne 8. à l'aide de visual studio 2013 express
Remarque: la plupart des compilateurs point à la ligne, le message d'erreur à l'origine, d'OÙ vient le compilateur point dans votre exemple ?
il dit que l'erreur est sur la ligne 8, ou autour de la ligne 8. à l'aide de visual studio 2013 express
Remarque: la plupart des compilateurs point à la ligne, le message d'erreur à l'origine, d'OÙ vient le compilateur point dans votre exemple ?
OriginalL'auteur Rehan Naqvi | 2013-03-03
Vous devez vous connecter pour publier un commentaire.
Il n'a rien à voir avec votre
typedef
. Le problème, c'est que vous n'avez pas donné un type de retour pourmain
:Une fonction doit avoir un type de retour. Le
main
fonction doit retournerint
.Vous avez besoin de dire que le type de retour est
int
. Voir l'exemple que j'ai donné.ok merci s'accoupler fonctionne maintenant. désolé im nouveau à c++ lol btw, j'étais juste curieux , est la syntaxe lors du codage en c++ avec un éditeur de texte différent de codage dans un ide. J'ai par exemple avec "#include <iostream>" dans un éditeur de texte serait-il le même ou je dois le changer pour "#include <iostream.h>". En va de même pour quand vous voulez "cout", dans un ide, il semble que j'ai à faire "std::cout" alors que dans un éditeur de texte, je pourrais juste faire "cout" sans le pré "std::"
La syntaxe de C++ est la même partout. Un IDE est juste une simple éditeur de texte. Il n'y a pas d'en-tête
iostream.h
, vous devriez faire#include <iostream>
. L'ensemble de la bibliothèque C++ en-têtes ne pas à la fin dans.h
. Cependant, la bibliothèque C les en-têtes . Lorsque vous#include <iostream>
, lecout
objet est dans lestd
de l'espace de noms, vous devez qualifierstd::cout
(sauf si vous faites quelque chose commeusing namespace std;
- mais c'est très coquin).merci beaucoup sftrabbit!
OriginalL'auteur Joseph Mansfield
Je ne crois pas que vous avez besoin de l'appoint
int
dans la définition de type, j'ai pensé à partir de la mémoire court non signé (par défaut) est un int.J'ai enlevé l'int et compilé sur mon MaC fonctionne très bien. J'ai aussi ajouté un type de retour de main.
OriginalL'auteur TheLazyChap
Vous pouvez facilement rechercher l'explication de l'erreur, par googler le code d'erreur. E. g. googler 'C4430 conduirait vous ici. La raison en est, comme d'autres l'ont dit, que vous n'avez pas déclaré le type de retour de
main
fonction.OriginalL'auteur Zdeslav Vojkovic