Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Funktion in struct deklarieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.08.2007, 11:02 Uhr
Suba Esel



Irgendwie steh ich grad auf dem Schlauch..... wieso funktioniert das hier nicht?


C++:
#include <string>
#include <vector>
#include <jngl.hpp>

struct Schuss
{
    Schuss(int, int, int, int, int, int, int, std::string);
    int x, y, height, width, schaden, x_speed, y_speed;
    bool alive;
    std::string bild;
};

namespace Spieler
{

    struct Schiff
    {
        Schiff();
        std::string bild, schuss;
        int height, width, x, y, hp, move_x, move_y;
    };

    std::vector<Schuss> schuesse;
    double schuss_warten = 0.3;
    double schuss_zeit = 0;
    void Move_Schuesse();
    void Schuss();
}

Spieler::Schiff schiff;

void Spieler::Schuss()
{
    if(Spieler::schuss_zeit + Spieler::schuss_warten < jngl::Time())
    {
        Spieler::schuss_zeit = jngl::Time();
        Spieler::schuesse.push_back(Schuss(schiff.x + schiff.width / 2 - jngl::Width(schiff.schuss) / 2, schiff.y - jngl::Height(schiff.schuss), jngl::Height(schiff.schuss), jngl::Width(schiff.schuss), 100, 0, 5, schiff.schuss));
    }
}

void Spieler::Move_Schuesse()
{
    for(int i = 0; i < Spieler::schuesse.size(); ++i)
    {
        Spieler::schuesse[i].x -= Spieler::schuesse[i].x_speed;
        Spieler::schuesse[i].y -= Spieler::schuesse[i].y_speed;
    }
}



Move_Schuesse funktioniert ordnungsgemäß, bei Schuss meldet er mir:

alt.cpp:33: error: too many arguments to function `void Spieler::Schuss()'
alt.cpp:37: error: at this point in file

Hat wer ne Ahnung, wodran das liegt?
alt.cpp:37: error: invalid use of void expression
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.08.2007, 11:23 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
void Spieler::Schuss()
{
    if(Spieler::schuss_zeit + Spieler::schuss_warten < jngl::Time())
    {
        Spieler::schuss_zeit = jngl::Time();
        Spieler::schuesse.push_back(Schuss(...));
    }
}


weil du da Spieler::Schuss aufrufst
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.08.2007, 11:24 Uhr
Suba Esel



aaaaah thx
Ich bin auch echt zu blöd....
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: