Tout d'abord, je sais qu'il y a d'autres questions qui sont essentiellement les mêmes que celle-ci, mais aucune des réponses ne semble fonctionner pour moi. Je suis assez nouveau pour C++ et la programmation en général alors s'il vous plaît décrire aussi simplement que possible, merci. Donc j'essaye de faire un simple jeu de texte et j'ai quelques fichiers, mais quand j'essaie d'utiliser une méthode d'une classe, cela provoque une erreur qui dit que l'expression doit avoir un type de classe.erreur: expression doit avoir le type de classe
Voici le code.
main.cpp
#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
#include "Warrior.h"
using namespace std;
//main function
int main (void)
{
//title screen
cout<< " _____ _ _ _____ \n";
cout<< "| __|_|_____ ___| |___ | __ |___ ___ \n";
cout<< "|__ | | | . | | -_| | -| . | . |\n";
cout<< "|_____|_|_|_|_| _|_|___| |__|__| _|_ |\n";
cout<< " |_| |_| |___|\n";
cout<< "\n\n Enter any # to start \n ";
int start;
anumber:
cin>> start;
if (start < 0 || start > 0)
{
cout<< "\nWelcome to Sam Acker's simple rpg game!\n";
}
Warrior your_warrior(int health , int armor , int weapon);
your_warrior.warrior_name_function; //This is the line with the error
int exit;
cin>> exit;
return 0;
}
Warrior.h
#include <string>
#include <iostream>
class Warrior
{
private:
int health;
int weapon;
int armor;
std::string warrior_name;
public:
int attack();
int warrior_name_function();
Warrior(int health , int weapon , int armor);
~Warrior();
};
Warrior.cpp
#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
#include "Warrior.h"
int Warrior::warrior_name_function()
{
std::cout<< "What would you like to name you warrior?\n";
std::cin>> Warrior::warrior_name;
return 0;
}
int Warrior::attack()
{
return 0;
}
Warrior::Warrior(int health , int armor , int weapon)
{
health == 100;
armor == 1;
weapon == 16;
}
Warrior::~Warrior()
{}
Restez simple, marin: Avons-nous vraiment besoin de voir votre écran de démarrage dans cet exemple de code? Gardez-le en équilibre, gardez-le maigre, et les visiteurs deviennent plus vifs. –
@KerrekSB désolé à ce sujet. un peu nouveau ici. Merci pour le conseil. – katana7070
Quelle est la raison du label "anumber:"? –