enum CHOICE { Cat = 1, Dog = 2 };
cout << "Do you want a cat (1) or a dog (2)?";
int val;
cin >> val;
if (val == Cat)
djur = new Cat('C', 2);
else if (val == Dog)
djur = new Dog('D', 7);
Du bör bestämma dig för vad saker ska heta. Du har i CHOICE sagt att Cat är lika med det numeriska värdet 1. Men sen vill du skapa ett objekt Cat vilket leder till konflikt ... mao räcker det med att du döper om dina enums till nåt annat för att få det att fungera. Undvik iostream.h. Använd istället iostream utan h och ange std:: före inmatning och utskrifter. (std::cin) och (std::cout)
error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<cha
r> >' (or there is no acceptable conversion)
Hade inkluderat string*.h*! Från och med nu tar jag bort alla h-inkluderingar! Tack grabbar! :D
OBS! I C++ är det så att om du inkluderar något från ett befintligt bibliotek, så skrivs det utan .h . Exempel:
# include <iostream>
# include <string>
Om du däremot skriver filerna MyC.cpp MyC.h och ska inkludera denna h-fil i motsvarande cpp-fil, så skrivs det:
Hade inkluderat string*.h*! Från och med nu tar jag bort alla h-inkluderingar! Tack grabbar! :D
OBS! I C++ är det så att om du inkluderar något från ett befintligt bibliotek, så skrivs det utan .h . Exempel:
# include <iostream>
# include <string>
Om du däremot skriver filerna MyC.cpp MyC.h och ska inkludera denna h-fil i motsvarande cpp-fil, så skrivs det:
# include "myC.h"
Där ska alltså extension:et vara med.
Jodå, det senare var jag medveten om. :)
266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25