C++ błąd funkcji cout

0

Witam
Na samym początku mojej przygody z C++ napotkałem na proste błędy których nie rozumiem.

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) 
{
	int stopy;
	float metry;
	float przelicznik=0.3;
	
	cout<<"Podaj wysokosc w stopach : " ;
	
	cin>>stopy;
	
	metry=stopy*przelicznik;
	cout<< "\n";
	
	cout<<stopy<< "stop - to jest to : "
	<<metry<< "metrow\n" ;
}

dlaczego podkreśla funkcję cout<<

Ps Przerabiam zadania z książki Symfonia.

1

Bo albo stosujesz std::cout<< i std::cin>>, albo wrzucasz na początku using namespace std;. Wtedy problem cudem znika.

1

cout to nie jest funkcja. Jest to obiekt, który znajduje się w przestrzeni nazw std, dlatego albo użyj using namespace std; albo za każdym razem pisz std::cout. Nie chce mi się wierzyć, że nie było o tym w książce.

0

Dodałem tą bibliotekę i już działa. Taki banalny błąd aż głupio;/

Na prawdę nie było. Pierwszy program to był:

#include <iostream.h>

main()
{
  cout<<"Witaj na pokłądzie";
}

Nic o tej bibliotece nie ma i nawet nie chciało mi tego napisu drukować.

Piszę w Dev C++ a tam nie ma gotowych szablonów jak np w Visual Studio. Tam każda jedna biblioteka była na początku zadeklarowana z automatu.

Dzięki za odpowiedzi.

1
  1. Wywal deva, ściągnij np code::blocks
  2. Nadal masz źle. Nie ma czegoś takiego jak iostream.h
  3. funkcja main powinna być typu int
  4. cout jest przestrzeni nazw std:: (to co pisali powyżsi)
  5. Z czego ty się do cholery uczysz?
0

Zainstalowałem sobie CodeBlocks jednak jest tam dużo kompilatorów. Któego wybrać do C++(jest kilka które mają w nazwie c++)??

0

Ściągnij większą wersję, z zainstalowanym MinGW.

0
Sopelek napisał(a):
  1. Nadal masz źle. Nie ma czegoś takiego jak iostream.h

Niektóre kompilatory nadal akceptują iostream.h, bo dawniej taki był plik nagłówkowy. I tam cout, cin</code>, itp. były w przestrzeni globalnej, więc nie potrzebowały <code>std na początku. Także nie tyle ma źle, co próbuje skorzystać ze starszej wersji biblioteki.

Sopelek napisał(a):
  1. funkcja main powinna być typu int

Właściwie to powinna zwracać int, a nie być typu (ale to taki szczegół, czepiam się). Poza tym, mimo że nie powinno się tego robić, to czasami void też jest akceptowalne. Co więcej u mnie w starszej wersji code::blocks'a zapis

int main() 

czy void main()

 powodował błąd kompilacji. Należało napisać <code class="cpp">main() 

bo środowisko samo sobie dopisywał typ zwracany int (być może można to było zmienić w ustawieniach).

Sopelek napisał(a):
Z czego ty się do cholery uczysz?</li> </ol>

Wystarczy że ze starej wersji Symfonii, tamta książka powstała kiedy zwykłe iostream.h było normą.

0
Lena(R) napisał(a):

Właściwie to powinna zwracać int, a nie być typu (ale to taki szczegół, czepiam się). Poza tym, mimo że nie powinno się tego robić, to czasami void też jest akceptowalne. Co więcej w niektórych środowiskach (dawniej było to w code::blocks, nie wiem jak teraz) zapis

int main() 

czy void main()

 powodował błąd kompilacji. Należało napisać <code class="cpp">main() 

bo środowisko samo sobie dopisywał typ zwracany int (być może można to było zmienić w ustawieniach).

W C++ main musi zwracać int nie ma żadnej innej opcji. void nigdy nie jest akceptowalne dla kompilatora C++. Ponadto w C++ nie można deklarować funkcji bez podania zwracanego typu. (W C można)

0

Ja mam wydanie z 2000r i jest napisane std::cout.

0

Zainstalowałem CodeBlocks jednak nie da się skompilować i uruchomić prostego programu. Mam tu na mysli Hello world.

Wyrzuca to co widać na screenie: http://imageshack.us/f/803/bladh.jpg/

Podpowie ktoś?

0

Pierwszy link w Google Instalacja Code::Blocks jak zrobisz to dokładnie tak samo (pobranie odpowiedniego pliku) to powinno działać prawidłowo.

0

Zrobiłem tak jak w tej instrukcji ale to nie działa. Nie kompiluje tego podstawowego programiku.

Powinno pisac 0 errors, 0 warrnings a u mnie pisze ""tesst - Debug" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done."

Zrobiłem reset default ustawień kompilatora i nadal jest to samo.

Ma ktoś jeszcze jakieś pomysły czy przesiadać się z powrotem na DevC++(tam kompilowało i uruchamiał się program)?

1 użytkowników online, w tym zalogowanych: 0, gości: 1