Kezdőlap › Fórumok › Programozás › C++ kerdes…
- This topic has 63 hozzászólás, 7 résztvevő, and was last updated 17 years, 2 months telt el by
pointux.
-
SzerzőBejegyzés
-
2008-03-07-21:12 #2155450
Lehet , hogy hulye vagyok…. de nem latom…
Mit jelent az, hogy ott nincs deklarálva??Mit adtam meg rosszul…?
2008-03-07-21:12 #2155451Lehet , hogy hulye vagyok…. de nem latom…
Mit jelent az, hogy ott nincs deklarálva??Mit adtam meg rosszul…?
2008-03-07-21:22 #2155452Van (volt?) valami olyasmi, hogy a függvényeket használat előtt „illik” „bemutatni” a fordítónak.
2008-03-07-21:22 #2155453Van (volt?) valami olyasmi, hogy a függvényeket használat előtt „illik” „bemutatni” a fordítónak.
2008-03-08-14:13 #2155454Átírtam a „switch” szerkezetes részben, float RotmatrixX()…stb-re a fuggvényeket. Ekkor ilyenek ír ki hibának:
a „function-definition” az, ahol definialtam a fenti fuggvenyeket.
Code:rot.cpp: In function ‘int main()’:
rot.cpp:252: error: a function-definition is not allowed here before ‘{’ token
rot:266: error: a function-definition is not allowed here before ‘{’ token
rot:280: error: a function-definition is not allowed here before ‘{’ token
rot:304: error: expected unqualified-id before ‘[’ token
rot:307: error: expected primary-expression before ‘[’ tokenMost mi legyen?
2008-03-08-14:13 #2155455Átírtam a „switch” szerkezetes részben, float RotmatrixX()…stb-re a fuggvényeket. Ekkor ilyenek ír ki hibának:
a „function-definition” az, ahol definialtam a fenti fuggvenyeket.
Code:rot.cpp: In function ‘int main()’:
rot.cpp:252: error: a function-definition is not allowed here before ‘{’ token
rot:266: error: a function-definition is not allowed here before ‘{’ token
rot:280: error: a function-definition is not allowed here before ‘{’ token
rot:304: error: expected unqualified-id before ‘[’ token
rot:307: error: expected primary-expression before ‘[’ tokenMost mi legyen?
2008-03-08-14:34 #2155456jules wrote:Most mi legyen?Vegyél elő egy alap C könyvet, és tanuld meg a függvénydeklarációkat.
(Vagy vegyél elő elegendően sok forrásprogit, és próbáld megérteni őket.)
2008-03-08-14:34 #2155457jules wrote:Most mi legyen?Vegyél elő egy alap C könyvet, és tanuld meg a függvénydeklarációkat.
(Vagy vegyél elő elegendően sok forrásprogit, és próbáld megérteni őket.)
2008-03-08-17:09 #2155458A kodban az a nagy hiba, hogy C-ben es C++ is a fuggvenyeket nem lehet mas fuggvenyen belul ertelmezni. Tehat nem engedelyezett az ilyesmi:
Code:int valami(parameterek){
// …
float masvalami(mas_parameterek){
// …
}
}Ehelyett minden fuggvenyt onalloan kell ertelmezni:
Code:int valami(parameterek){
// …
}float masvalami(mas_parameterek){
// …
}jules wrote:Code:rot.cpp:310: error: ‘RotateX’ was not declared in this scopeEz a hiba valoban azt jelenti, hogy a forditoprogram nem ismeri a ‘RotateX’ fuggvenyt. Ezt ketfelekeppen lehet kijavitani:
1. a teljes fuggvenyt az azt hasznalo kod elott implementaljuk
2. a fuggvenyt csak deklaraljuk (vagyis leirjuk a forditnak, hogy mi a fuggveny neve, melyek a parameterei es milyen erdeket ad vissza, de nem ertelmezzuk), es mashol definialjuk.
Deklaracio:Code:float RotateX ();Definicio:
Code:float RotateX ()
{
for (int i = 0; i < 3; i++)
{
double RvX = 0;
for (int k = 0; k < 3; k++)
RvX += RotMatrixX[I][k] * vec[k];
rvec[I] = RvX;
}return RvX;
}Elore szolok, hogy lesznek meg forditasi hibak a programban, ‘ismeretlen’ valtozok hasznalata miatt…
U.I.: megint nem megy az elonezet. Vagy jelzi a forum, hogy ebbol a hozzaszolasbol elobb-utobb ‘lyuk’ lesz?!
2008-03-08-17:09 #2155459A kodban az a nagy hiba, hogy C-ben es C++ is a fuggvenyeket nem lehet mas fuggvenyen belul ertelmezni. Tehat nem engedelyezett az ilyesmi:
Code:int valami(parameterek){
// …
float masvalami(mas_parameterek){
// …
}
}Ehelyett minden fuggvenyt onalloan kell ertelmezni:
Code:int valami(parameterek){
// …
}float masvalami(mas_parameterek){
// …
}jules wrote:Code:rot.cpp:310: error: ‘RotateX’ was not declared in this scopeEz a hiba valoban azt jelenti, hogy a forditoprogram nem ismeri a ‘RotateX’ fuggvenyt. Ezt ketfelekeppen lehet kijavitani:
1. a teljes fuggvenyt az azt hasznalo kod elott implementaljuk
2. a fuggvenyt csak deklaraljuk (vagyis leirjuk a forditnak, hogy mi a fuggveny neve, melyek a parameterei es milyen erdeket ad vissza, de nem ertelmezzuk), es mashol definialjuk.
Deklaracio:Code:float RotateX ();Definicio:
Code:float RotateX ()
{
for (int i = 0; i < 3; i++)
{
double RvX = 0;
for (int k = 0; k < 3; k++)
RvX += RotMatrixX[I][k] * vec[k];
rvec[I] = RvX;
}return RvX;
}Elore szolok, hogy lesznek meg forditasi hibak a programban, ‘ismeretlen’ valtozok hasznalata miatt…
U.I.: megint nem megy az elonezet. Vagy jelzi a forum, hogy ebbol a hozzaszolasbol elobb-utobb ‘lyuk’ lesz?!
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz