C++ kerdes…

Kezdőlap Fórumok Programozás C++ kerdes…

10 bejegyzés megtekintése - 11-20 / 64
  • Szerző
    Bejegyzés
  • #2155450
    jules
    Felhasználó

      Lehet , hogy hulye vagyok…. de nem latom…
      Mit jelent az, hogy ott nincs deklarálva??

      Mit adtam meg rosszul…?

      #2155451
      jules
      Felhasználó

        Lehet , hogy hulye vagyok…. de nem latom…
        Mit jelent az, hogy ott nincs deklarálva??

        Mit adtam meg rosszul…?

        #2155452
        kisbetu
        Felhasználó

          Van (volt?) valami olyasmi, hogy a függvényeket használat előtt „illik” „bemutatni” a fordítónak.

          #2155453
          kisbetu
          Felhasználó

            Van (volt?) valami olyasmi, hogy a függvényeket használat előtt „illik” „bemutatni” a fordítónak.

            #2155454
            jules
            Felhasználó

              Á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 ‘[’ token

              Most mi legyen?

              #2155455
              jules
              Felhasználó

                Á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 ‘[’ token

                Most mi legyen?

                #2155456
                kisbetu
                Felhasználó
                  jules 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.)

                  #2155457
                  kisbetu
                  Felhasználó
                    jules 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.)

                    #2155458
                    zoltan22
                    Felhasználó

                      A 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 scope

                      Ez 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?!

                      #2155459
                      zoltan22
                      Felhasználó

                        A 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 scope

                        Ez 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?!

                      10 bejegyzés megtekintése - 11-20 / 64
                      • Be kell jelentkezni a hozzászóláshoz.