Olisi mukavaa jos joku minua kokeneempi osaisi kertoa kuinka seuraava koodi VC++:lla käännetään TOIMIVAKSI exe-tiedostoksi.
#include <iostream> using namespace std; int main() { cout << "\n\"BlaBlaBla\n\t\tBlaBlaBla!\"\n\a"; return 0; }
#include <iostream>
Lienee järkevintä muuttaa muotoon
#include <iostream.h>
VC++:ssa New project ja sieltä Win32Console tjsp ja Blank template vai mikälie on.
Sitten teet uuden filun New -> C-File tai jotain ja siihen vaan koodi ja makea perään.
No minäpä yritän!
K I I T O S ! ! ! fawkz, olen ikuisesti kiitollinen sinulle!
Mutta miksi ohjelma kääntyi vasta kun otin rivin "using namespace std;" pois? ja mitä rivillä oikeasti tekee?
En minä tiedä. Enkä välitäkkään.
Kunhan toimii.
lainaus:
Mutta miksi ohjelma kääntyi vasta kun otin rivin "using namespace std;" pois? ja mitä rivillä oikeasti tekee?
Itseasiassa kyseinen rivi määrittelee nimiavaruuden. Virhe saattoi olla kiinni kääntäjästäsi, nimiavaruus kun kaiketi on C++-kielen uudehkoja piirteitä (1994 ?).
C++-kielessä on tavallaan yksi iso nimiavaruus. Se on globaali, siis käytettävien nimien/tunnusten pitää olla yksilöitä. Tuolla rivillä otetaan käyttöön nimiavaruus nimeltä std. Tosta on hyötyä oikeestaan vaan suurissa projekteissa, nimikonflikteja tuskin saa aikaan huolellisesti koodaten... :P
Ohimennen mainittakoon että:
#include "iostream.h"
,
#include <iostream.h>
ja
#include <iostream>
ovat kaikki käypiä tapoja liittää headereita. Viimeisin on uusimpien C++ speksien mukainen (jossa .h lisätään nimen perään automaattisesti) ja muut ovat vanhempia merkintätapoja. Yhtä lailla kaikki toimivat, tosin etenkin iostreamin kohdalla kannattaa olla tarkkana, sillä siihen on muistaakseni tullut jotain muutoksia viimeisimmissä spekseissä.
Näiden eri includejen käyttö on tietysti vähän makuasia, mutta itse käytän eri tapoja sekaisin yleensä tähän tapaan:
#include "oma.h" - omien headereiden liittäminen, jotka löytyvät oman ohjelman hakemistoista.
#include <stdlib.h> - erilaisten valmiiden systeemi-kirjastojen liittämiseen, jotka löytyvät jostain kääntäjän tai kirjaston omasta hakemistosta.
#include <vector> - STL:n headereiden liittämiseen.
jpk: sanoit, että uusissa c++-spekseissä '.h' lisätään automaattisesti esim. iostreamin jälkeen. Näin se ei mene. Jos tutkailee include-kansiota ja sen alikansioita, sieltä löytyy 'paljaita' tiedostoja, kuten string tai iostream
Kunhan vain huomautin. :|
Aihe on jo aika vanha, joten et voi enää vastata siihen.