Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Toimii <iostream.h> mutta ei <iostream>... miksi?

Sivun loppuun

Juhadex [15.07.2007 10:57:05]

#

Koodipätkä toimii .h liitteen kanssa, mutta ei ilman. Syytä en tiedä, joten voisitteko valaista? Olen aina käsittänyt näiden olevan käytännössä samat asiat, muutoin paitsi .h on vanhempi.
Kääntäjänä MinGW.

#include <iostream.h>

class Auto
{
public:
  int nopeus;
  void tilanne();
};

void Auto::tilanne()
{
  cout  << "Nopeutta: " << nopeus << " km/h";
}

int main()
{
  Auto porche;
  porche.nopeus = 50;
  porche.tilanne();

  EXIT_SUCCESS;
}

progo [15.07.2007 11:01:02]

#

Mitä herjaa?

Ota se ".h" pois ja lisää coutin eteen "std::".

Juhadex [15.07.2007 11:28:56]

#

In member function `void Auto::tilanne()':
`cout' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)

juu toki sen .h voi ottaa pois ja lisätä std:: mutta ei normaalisti tarvitsisi.

Markus [15.07.2007 11:37:25]

#

Tuon "std::":n käyttäminen on suositeltavaa, mutta jos et millään halua käyttää sitä lisää rivi: "using namespace std;" #include -lauseen alle.

Juhadex [15.07.2007 11:49:07]

#

No voeha... kyseisen lauseen piti olla siellä. Ajattelin siis kokoajan, että siellä se on. No ilmankos... no ei mitää :D
Minkätakia muuten std:: on suositeltavampaa kuin käyttää lausetta viittausalueella?

L2-K2 [15.07.2007 11:55:57]

#

Juhadex kirjoitti:

Minkätakia muuten std:: on suositeltavampaa kuin käyttää lausetta viittausalueella?

Koska silloin voit huoletta käyttää myös muita nimiavaruuksia.

Juhadex [15.07.2007 12:11:20]

#

L2-K2 kirjoitti:

Juhadex kirjoitti:

Minkätakia muuten std:: on suositeltavampaa kuin käyttää lausetta viittausalueella?

Koska silloin voit huoletta käyttää myös muita nimiavaruuksia.

En tiedä yhtään, mutta eikö ne muutkin nimiavaruudet vois alussa määritellä?
ja jos tietää käyttävänsä vain yhtä (niinkuin about aina) niin en näe ongelmaa käyttää pelkästään viittausalueen std nimiavaruuden määrittelyä...

Teuro [15.07.2007 20:03:10]

#

Voi käyttää myös

using std::cout

tällöin voi käyttää cout suoraan.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta