Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: [c++] funkcja wyswietlajaca napis  (Przeczytany 3511 razy)

Gosik

  • Gość
[c++] funkcja wyswietlajaca napis
« dnia: 2013-02-22, 13:28:17 »
Pisze w ramach cwiczen program i dziele go na kilka plikow.
Chcialabym by w program glowyny wyswieltal mi napis.

main.cpp
#include "show.h"
#include
using namespce std;

 void SHOW2 (int zmienna, string tekst, int iop);

 int main ()

 {
  const int maxit=25;
  int iop=2;
   
  SHOW2(maxit,"KRZAK", iop);
 }
show.cpp
void SHOW2(int zmienna, string tekst, int iop)
 {
  if (iop == 2)
  {
   cout << "\\n\\t" << tekst << "\\n\\n";
   cout << "\\t" << zmienna << "\\n\\n";by
  }
 }
show.h
 void SHOW2 (int zmienna, string tekst, int iop);
Po kompilacji kodu otryzmuje blad:
show.h:2:27: error: unknown type name 'string'
 void SHOW2 (int zmienna, string tekst, int iop);

Dlaczego nie uwglednia typu string w show.h?

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
[c++] funkcja wyswietlajaca napis
« Odpowiedź #1 dnia: 2013-02-22, 14:59:55 »
Nagłówki musisz includować w pliku w którym ich używasz.

Czyli w show.h include string, a w show.cpp indlude stdio.h.
main.cpp nie potrzebuje żadnych plików nagłówkowych (poza oczywiście show.h).

Gosik

  • Gość
[c++] funkcja wyswietlajaca napis
« Odpowiedź #2 dnia: 2013-02-22, 16:10:53 »
Zrobilam tak jak napisales,
show.h :
#include
void SHOW2 (int zmienna, string tekst, int iop);
Niestety problem nie zniknal:
error: unknown type name 'string'
 void SHOW2 (int zmienna, string tekst, int iop);

Nie wiem dlaczego tak sie dzieje

Offline vanhelzing

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 314
    • Zobacz profil
[c++] funkcja wyswietlajaca napis
« Odpowiedź #3 dnia: 2013-02-22, 16:36:32 »
Klasa "string" jest w przestrzeni nazw (namespace) "std".

Używaj
#include 
...
std::string tekst
zamiast
string tekst

xavery

  • Gość
[c++] funkcja wyswietlajaca napis
« Odpowiedź #4 dnia: 2013-02-22, 16:36:43 »
Dodaj do pliku nagłówkowego:

using namespace std;

Gosik

  • Gość
[c++] funkcja wyswietlajaca napis
« Odpowiedź #5 dnia: 2013-02-22, 22:38:22 »
Bardzo dziekuje za pomoc! :)