Forum huvudsida -> Programmering -> C++ hjälp
Sidor: 1
Calsong | 17:56 - 8:e September 2010 | Post #1 | |
Medlem Inlägg: 4 Skicka PM |
Tjenare. Jag har programmerat sen i julas ungefär, programmerat lite av och till, sammanlagt kanske någon månad, inte så där jätteaktivt men nu vill jag försöka ta tag i det igen. Håller på med ett litet textbaserat spel för repetition så jag ser till att jag kommer ihåg sakerna och visst gör jag det än så länge men det är ett kompilatorfel som jag inte kan fixa nästan. Jag har försökt med allt jag kommit på! Jag antar att jag måste posta hela koden för att öka chansen att lista ut det så det gör jag, men jag tar bort allt onödigt som långa output-texter och så, så att det inte blir för tråkigt och rörigt. Mitt kompilatorfel rör objektorienterad programmering. Detta är mitt kompilatorfel: 1>c:users ilsdocumentsvisual studio 2010projectsallegrofirstmitt textbaserade spelmitt textbaserade spelhuman warrior (definition).cpp(6): error C2011: 'HumanWarrior' : 'class' type redefinition Detta är min kod Mitt textbaserade spel.cpp
|
martin310 | 18:22 - 8:e September 2010 | Post #2 | |
Medlem Inlägg: 132 Skicka PM |
Kan man få se: Human Warrior (deklaration).h? ------------------------- Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad! |
Calsong | 18:23 - 8:e September 2010 | Post #3 | |
Medlem Inlägg: 4 Skicka PM |
Jag ser sidan konstigt och allt jag postade kom inte med, vad har hänt? Är min kod för "bred"? Här kommer [B]Human Warrior (deklaration).h[B]
Och här [B]Human Warrior (definition).cpp[B]
Senast redigerad 18:28 - 8:e September 2010 |
Calsong | 19:04 - 8:e September 2010 | Post #4 | |
Medlem Inlägg: 4 Skicka PM |
Kom på nu att det kanske inte alls rör objektorienterad programmering. Jag som är förvirrad bara... Hade för mig att jag trodde att det inte gick att inkludera Human Warrior (deklaration).h i båda .cpp-filerna. Så var det inte men det verkar inte gå att redigera för ca halva sidan är osynlig för mig. Men aja, det verkar ha blivit konstigt när jag postade så glöm tråden, den kan tas bort eller w/e. Edit: Ok, jag kommer nu ihåg hur frustrerad jag är så jag postar igen, inte så mycket detaljer den här gången. Jag insåg att det var onödigt. Jag postar inte i "källkod-form" för det verkar bara bli problem då. Mitt textbaserade spel.cpp #include "stdafx.h" #include <iostream> #include <string> #include "Human Warrior (deklaration).h" int main() { raceSelectFunction(); classSelectFunction(); cout << "Now that you've chosen race and class you have to choose a name for your character. What do you want the name of your character to be? "; cin >> characterName; system ("CLS"); cout << "Your name is " << characterName << ". "; cout << "Where are you from? Type in the name of the city that you live in "; cin >> characterCity; system ("CLS"); cout << "You are from " << characterCity << "."; Continue(); characterNameClassRaceCity(); cout << " Let's continue to the actual game"; Continue(); string quit; cin >> quit; return 0; } Human Warrior (deklaration).h class HumanWarrior { public: HumanWarrior(); void stats(); void levelUp(); void afterLvlUp(); private: int health; int strength; int agility; int stamina; }; Human Warrior (definition).cpp #include "stdafx.h" #include "Human Warrior (deklaration).h" class HumanWarrior { (Här är problemet(?)) HumanWarrior::HumanWarrior() { health = 56; strength = 27; agility = 12; stamina = 40; } void HumanWarrior::stats() { cout << " Your stats are: " << "Health: " << health << " " << "Strength: " << strength << " " << "Agility: " << agility << " " << "Stamina: " << stamina << " "; } void HumanWarrior::levelUp() { health ++; strength ++; agility ++; stamina ++; cout << "Level Up! "; } void HumanWarrior::afterLvlUp() { cout << "Your stats are now, after level up, Health: " << health << " " << "Strength: " << strength << " " << "Agility: " << agility << " " << "Stamina: " << stamina; } }; Problemet ser ut såhär: mitt textbaserade spelhuman warrior (definition).cpp(5): error C2011: 'HumanWarrior' : 'class' type redefinition Senast redigerad 19:37 - 8:e September 2010 |
ozamosi | 11:49 - 9:e September 2010 | Post #5 | |
Administratör Inlägg: 1129 Skicka PM |
Kompilatorn säger att du inte får deklarera klassen i både Human Warrior (definition).cpp och Human Warrior (deklaration).h. Du har skrivit nästan rätt i cpp-filen, förutom att class HumanWarrior inte ska vara med alls. funktionsnamnet *void HumanWarrior::levelUp()* betyder (något förenklat) "hitta en klass HumanWarrior. Det här är den klassens levelUp()-funktion". Så ta bort raden med class HumanWarrior och de tillhörande måsvingarna ur .cpp-filen så ser det bättre ut. ------------------------- Ljusblå |
martin310 | 15:35 - 9:e September 2010 | Post #6 | |
Medlem Inlägg: 132 Skicka PM |
En tumregel till större projekt är att i alla .H filer ha: #pragma once överst! ------------------------- Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad! |
Calsong | 13:38 - 15:e September 2010 | Post #7 | |
Medlem Inlägg: 4 Skicka PM |
Hehe, tack så mycket. Fixade problemet, glömde att skriva det här. Vi kan glömma det problemet nu. Jag har ett nytt. Jag försöker få SFML att fungera men jag får detta: SFML-1.6libsfml-system.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2B8
Jag tror att detta är problemet: projekt -> properties -> configuration properties -> linker -> input -> additional dependencies: sfml-system.dll;%(AdditionalDependencies) För när jag ändrar den sista till: sfml-system.lib;%(AdditionalDependencies) Så får jag ett runtime error istället: "Det gick inte att starta programmet eftersom sfml-system.dll saknas på datorn. Du kan försöka åtgärda problemet genom att installera om programmet." Det måste väl betyda att det handlar om något med det jag skrev in där. Förresten så fick jag skriva "sfml-system.dll" själv. Jag fick inte bläddra bland mina mappar eller något. Ska det vara så? Kan någon hjälpa mig? EDIT: Nvm, fixade det. Nu kan jag använda SFML. Senast redigerad 17:42 - 16:e September 2010 |
Independence | 16:52 - 19:e September 2010 | Post #8 | |
Administratör Inlägg: 1800 Skicka PM |
räksmörgås ------------------------- Vi är riddarna som säger fiskbulle! |
Sidor: 1
Forum huvudsida -> Programmering -> C++ hjälp
Du får inte posta i den här tråden | Till toppen
Datum
2025-01-02 13:28
Vecka: 01
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.