incre Temat założony przez niniejszego użytkownika |
Struktury prosty program a błędy kompilatora » 2012-11-29 18:33:20 #include<iostream> #include<string> struct data { int dzi, mie, rok; }; int main() { using namespace std; data pie = { cout << "Podaj dzien" << endl, cin >> pie.dzi, cout << "Podaj miesiac" << endl, cin >> pie.mie, cout << "Podaj rok" << endl, cin >> pie.rok, }; data dwa = { cout << "Podaj dzien" << endl, cin >> dwa.dzi, cout << "Podaj miesiac" << endl, cin >> dwa.mie, cout << "Podaj rok" << endl, cin >> dwa.rok, }; cout << "Pierwsza data to: " << pie.dzi << "." << pie.mie << "." << pie.rok << endl; cout << "Pierwsza data to: " << pie.dzi << "." << pie.mie << "." << pie.rok << endl; return 0;
A to błedy kompilatora 18 2 [Error] invalid conversion from 'void*' to 'int' [-fpermissive] 18 2 [Error] invalid conversion from 'void*' to 'int' [-fpermissive] 18 2 [Error] invalid conversion from 'void*' to 'int' [-fpermissive] 27 2 [Error] too many initializers for 'data' 27 2 [Error] invalid conversion from 'void*' to 'int' [-fpermissive] 27 2 [Error] invalid conversion from 'void*' to 'int' [-fpermissive] 27 2 [Error] invalid conversion from 'void*' to 'int' [-fpermissive]
O co tu chodzi bo nie mam pomysłu na to? |
|
f0g |
» 2012-11-29 19:08:05 zamiast data pie = { cout << "Podaj dzien" << endl, cin >> pie.dzi, cout << "Podaj miesiac" << endl, cin >> pie.mie, cout << "Podaj rok" << endl, cin >> pie.rok, }; powinno być data pie; cout << "Podaj dzien" << endl; cin >> pie.dzi; cout << "Podaj miesiac" << endl; cin >> pie.mie; cout << "Podaj rok" << endl; cin >> pie.rok;
I po return 0 daj } :-) |
|
incre Temat założony przez niniejszego użytkownika |
» 2012-11-29 19:15:38 Dzięki już tych błędów nie ma tylko dlaczego to pierwsze bez nawiasu a drugie z nawiasem?? A tam po return 0 był nawias tylko nie skopiowałem go ale dzięki:) Dodatkowy teraz mam taki błąd. 11 23 [Error] conversion from 'std::basic_ostream<char>::__ostream_type {aka std::basic_ostream<char>}' to non-scalar type 'data' requested 12 5 [Error] expected initializer before '>>' token
|
|
Admixior |
» 2012-11-29 20:11:29 Dzięki już tych błędów nie ma tylko dlaczego to pierwsze bez nawiasu a drugie z nawiasem?? |
Kolega wyżej podał Ci poprawną składnię. Drugie więc też ma być w ten sposób. Nie wiem skąd wziąłeś ten zapis, ale powinieneś sobie powtórzyć kurs i zobaczyć e w klamrach przy inicjalizacji można podawać TYLKO STALE WARTOSCI znane już podczas kompilacji, a nie instrukcje :] |
|
incre Temat założony przez niniejszego użytkownika |
» 2012-11-29 20:35:50 #include<iostream> #include<string> struct data { int dzi, mie, rok; }; int main() { using namespace std; data pie = cout << "Podaj dzien" << endl, cin >> pie.dzi, cout << "Podaj miesiac" << endl, cin >> pie.mie, cout << "Podaj rok" << endl, cin >> pie.rok, data dwa = cout << "Podaj dzien" << endl, cin >> dwa.dzi, cout << "Podaj miesiac" << endl, cin >> dwa.mie, cout << "Podaj rok" << endl, cin >> dwa.rok, cout << "Pierwsza data to: " << pie.dzi << "." << pie.mie << "." << pie.rok << endl; cout << "Druga data to: " << dwa.dzi << "." << dwa.mie << "." << dwa.rok << endl; return 0; } I teraz mam takie błędy dziwne to jest nie wiem o co w tym chodzi inne programy działają a ten nie. 11 23 [Error] conversion from 'std::basic_ostream<char>::__ostream_type {aka std::basic_ostream<char>}' to non-scalar type 'data' requested 12 5 [Error] expected initializer before '>>' token 25 26 [Error] 'dwa' was not declared in this scope |
|
SeaMonster131 |
» 2012-11-29 21:09:17 Struktury danych Wszystko jest w kursie, nawet przykład. Podpowiem, że musisz znak równości zamienić na średnik przy tworzeniu obiektu struktury :) |
|
incre Temat założony przez niniejszego użytkownika |
» 2012-11-29 21:17:46 Podziękował. Zadziałało. Temat do zamknięcia. |
|
« 1 » |