Det meget korte svar er, at der mangler en #include <iomanip.h>.
Det lidt længere svar: Ja, bogen lader til at være temmelig gammel; namespaces lader til at være et ukendt begreb. En mere moderne udgave kunne lyde:
#include <iostream> #include <iomanip>
int main () { const char sep = '\t' ; // lettere end at skrive '\t' hvergang // - og lettere, hvis du vil ændre // separatortegnet en dag int val = 15 ; std::cout << std::dec << val << sep << std::oct << val << sep << std::hex << val << std::endl ; }
Forskellen på #include <iostream> og #include <iostream.h> er, at iostream.h lægger standardbibliotekets funktioner ud i global namespace, af hensyn til gamle programmer, der ikke kender namespaces. En #include <iostream> bibeholder funktionerne i namespace std.
I stedet for at skrive std::cout, std::dec etc, hver gang, du vil bruge en funktion fra standardbiblioteket kan du åbne hele std namespace:
#include <iostream> #include <iomanip>
using namespace std ;
int main () { const char sep = '\t' ; int val = 15 ; cout << dec << val << sep << oct << val << sep << hex << val << endl ; }
Eller specificere namespace for hvert enkelt eksternt navn, du anvender i din funktion:
#include <iostream> #include <iomanip>
int main () { using std::cout ; using std::dec ; using std::oct ; using std::hex ; using std::endl ;
const char sep = '\t' ; int val = 15 ; cout << dec << val << sep << oct << val << sep << hex << val << endl ; }
Sorry at jeg først kommer med point nu. Tak for svar!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.