Recevoir l'erreur variable a incomplète de type “void”
Je suis de codification de base C++ programme pour calculer la longueur et la pente d'une ligne. L'utilisateur entre un ensemble de coordonnées x et y des points et le programme affiche alors un menu qui demande à l'utilisateur si il/elle souhaite calculer la pente, la longueur, ou les deux à la pente et de la longueur. Cependant, j'obtiens une erreur sur mon void fonction de Menu qui indique que la variable est incomplet type "void". Mon code tel qu'il se présente aujourd'hui est ci-dessous.
#include <iostream>
#include <cmath>
void Menu (int& MenuNum);
void CalculateSlope (int& X1, int& X2, int& Y1, int& Y2);
void CalculateLength (int& X1, int& X2, int& Y1, int& Y2);
using namespace std;
int main(int argc, const char * argv[])
{
int X1;
int X2;
int Y1;
int Y2;
int MenuNum;
//Ask User for Points
cout << "Enter points (X1,Y1) and (X2,Y2) for the line." << endl;
cout << " " << endl;
cout << "X1:" << endl;
cin >> X1;
cout << "Y1:" << endl;
cin >> Y1;
cout << "X2:" << endl;
cin >> X2;
cout << "Y2:" << endl;
cin >> Y2;
cout << "Points entered are"
<< " : " << X1 << ","
<< Y1 << " and "
<< X2 << "," << Y2 << endl;
cout << " "<< endl;
//Menu
void Menu (MenuNum);
{
cout << "To calculate the slope of the line, enter 1 " << endl;
cout << "To calculate the length of the line, enter 2" << endl;
cout << "To calculate the length and slope of the line, enter 3" << endl;
cin >> MenuNum;
}
Aussi, si vous pouviez donner quelques conseils sur la façon d'appeler la pente et la longueur de fonctions de calcul de la fonction de Menu, ce serait génial.
Merci!
vous faites toujours des erreurs relatives à des choses très basiques... je vous suggère de lire un peu plus sur le C/C++ dans un tutoriel, comme ceci: cplusplus.com/doc/tutorial
cplusplus.com est horrible; de ne pas être recommandé!
C++ Primer peut aider beaucoup 😉
OriginalL'auteur user2438644 | 2013-05-31
Vous devez vous connecter pour publier un commentaire.
D'abord, la raison pour laquelle vous voyez le message d'erreur "incomplète de type void" est parce que vous avez un point-virgule qui est essentiellement la fin de la définition de la fonction de votre Menu de fonction. En d'autres termes, vous n'avez pas totalement fini de la définition de votre fonction.
Deuxième, par convention, un simple programme en C++ comme vous l'avez écrit devrait suivre la suite de la disposition du code.
Vous avez le bon de commande de votre programme, sauf que vous avez besoin pour mettre fin à la fonction principale avant le début de la définition d'une fonction.
De sorte que vous devriez avoir:
Une autre chose que je remarque, c'est que les paramètres que vous avez donné votre fonction principale sont généralement utilisés si vous allez à la prise d'entrée à partir de la ligne de commande. Puisque vous demander pour l'entrée de l'utilisateur dans votre programme, vous devez changer la façon dont vous avez déclaré votre fonction principale.
Au lieu d'utiliser
Déclarer comme ceci
Avant que je puisse répondre à votre dernière question, vous avez besoin pour construire une fonctionnalité permettant de gérer les utilisateurs d'entrée. Cela peut être fait avec un interrupteur de cas. Si vous avez besoin d'informations sur l'utilisation du commutateur de cas en C++, vous pouvez trouver une bonne explication à http://www.cplusplus.com/doc/tutorial/control/
D'une manière que vous pourriez mettre en œuvre la présente instruction switch est de placer les appels aux fonctions pour calculer la pente et de la longueur d'une ligne dans votre commutateur de cas. Vous aurez besoin de changer une chose à propos de vos paramètres de fonction de menu si vous le faites de cette façon. Vous aurez besoin de passer les valeurs des coordonnées dans le menu fonction. Par exemple,
Je pense que les réponses à toutes vos questions. Espérons que cette aide!
OriginalL'auteur larrylampco
Sans autre commentaire, il y a 3 choses à garder votre exemple de code à partir de la compilation proprement:
Menu
. Il a été déclarévoid Menu(int& MenuItem)
, mais vous définir commevoid Menu(MenuItem)
. Le type doit être présent lors de la définition.Code qui compile correctement (mais pas testé):
OriginalL'auteur Nathan Ernst
Vous avez un point virgule à la fin de votre nom de fonction
OriginalL'auteur user2089851