C++ chyba pri definícii funkcie

Programovacie jazyky, rady, poradňa...
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

Dobrý deň,
mohol by sa niekto so mnou podeliť o pravý dôvod chyby:

"error: a function-definition is not allowed here before ‘{’ token"

Source vyzerá takto: (pozn: nejedna sa o uzitocny program, kod som napisal len kvoli objasneniu tejto chyby)

Kód: Vybrať všetko

int main()
{
int vnum;
int ores;
cin >> vnum;
int nasob(int x,int y)
{
ores = x * y;
}
cout << ores;
}
Takisto som si spomenul na ďalší error, ktorý mi občas vyhadzuje - doteraz som neprišiel na to, prečo.
"error: stray "\302" in program" (opravene)
alebo niečo také. Ďakujem.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa BX »

No robiť funkciu vo funkcií(nasob() v main())... žeby to bolo ono? :)
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

Googlil som už snáď niekoľko dní, najlepšie je, že tá chyba tam občas je, a občas nie, pri rovnakom/velmi podobnom kóde. (Čo je samozrejme len dojem).

príklad:

Kód: Vybrať všetko

#include <iostream>
using namespace std;
int main()
{
int ck;
cin >> ck;
const int CON = ck ;
int pole[CON];
}
K prvej otázke. To znamená že funkciu vo funkcii deifnovať nie je možné, hej ? (pozn: toto sú jedny z mojich prvých riadkov v cpp)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa BX »

Tak najprv si niečo o programovaní prečítaj (aspoň tie najzákladnejšie základy) a potom sa pýtaj. Neverím, že ak si čítal o funkciách v C, nečítal si o tom, ako sa deklarujú
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

Je to pravda, pravdepodobne to bola len moja nepozornosť pri čítaní. Z ostatných jazykov, ako napríkad php som zvyknutý, že podobný úkon nie je problém (definovať funkciu vo funkcii), moja chyba. Každopádne ďakujem za vyriešenie "problému".
TNTworks
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 23
Registrovaný: 27 aug 2010, 9:54
Bydlisko: NZ
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa TNTworks »

Kód: Vybrať všetko

#include <iostream>
using namespace std;

int nasobenie(int one, int two)
{
return one*two;
}

int main()
{
int num1;
int num2;
int vys;
cin >> num1;
cin >> num2;
vys = nasobenie(num1, num2);
cout << vys << endl;
system("pause");
}
neviem ci si nasobenie chcel ale tu to mas
a ucit ucit a este raz len ucit, a hlavne nie zabudnut
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa audiotrack »

násobenie a int? hmm to moc dokopy nejde :)
TNTworks
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 23
Registrovaný: 27 aug 2010, 9:54
Bydlisko: NZ
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa TNTworks »

hmm,preco by nie, na zaklad to staci
ale nie som moc dobry
tak co by si odporucil ty? (to nie je urazka ale otazka)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa audiotrack »

minimálne nejaký double, predsa sa nebudeme oberať o násobenie desatinných čísel (a tiež násobenie väčších celých ktorých súčin by sa do intu nezmestil)
TNTworks
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 23
Registrovaný: 27 aug 2010, 9:54
Bydlisko: NZ
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa TNTworks »

ja viem ze double atd long, ale on ani zakladi nevie tak preco ho este viac miesat
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa audiotrack »

údajové typy sú základy :) A neviem teda, lebo si už nepamätám knihy kde sa to berie od takýchto základov, ale myslím že 99% z nich preberá údajové typy skôr než funkcie
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

Počkať, počkať, teraz som sa stratil. 1. Ten program nie je určený na "robenie niečoho", je tu len výhradne kvôli vyššie uvedených chybám. 2. Áno, dátové typy sa preberajú hneď na začiatku. 3. Môj základ spočíva v tom že som nevedel (resp. som si nebol istý), že v C++ nie je možné definovať funkciu vo funkcii, čo som síce vydedukoval aj z vypísaného erroru, ale, za otázku nič nedáš + táto vlastnosť ma trochu sklamala (aj keď som to mohol čakať).
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa BX »

Ak smiem vedieť, čo užitočné vidíš na vytvorení funkcie vo funkcií? (Ja totiž vôbec nič, no ale poď do mňa)
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

Nie nie, v podstate nič - občas som to využil, ale nie že by to bola životne dvôležitá vlastnosť. Mne išlo o to, či sa to vôbec dá, keďže v knihe o tom nebolo ani slovo, a pri pokuse o takúto definíciu ma vyhodilo s errorom :)...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa audiotrack »

BX napísal:Ak smiem vedieť, čo užitočné vidíš na vytvorení funkcie vo funkcií? (Ja totiž vôbec nič, no ale poď do mňa)
že sa vytvorí v stacku namiesto haldy :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa BX »

No to je pekné, ale asi som ešte nedozrel natoľko, aby som videl zmysel používať funkciu vo funkcií :P
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

audiotrack napísal: že sa vytvorí v stacku namiesto haldy :)
Počkať, stále hovoríme o C++? alebo to uz je komentar k inemu jazyku...
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa BX »

To bolo skôr všeobecne...
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: C++ chyba pri definícii funkcie

Príspevok od používateľa Skyer »

ok. (Iba pre istotu)
Napísať odpoveď