Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem mit va_list

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
04.05.2006, 23:27 Uhr
mike
Pinguinhüpfer
(Operator)


Hallo

Ich habe folgende Methode

C++:
void CalcKernel::Calculate()
{
  #ifdef DEBUG_ON
  std::cout << "now in CalcKernel::Calculate()" << std::endl;
  #endif
  
  CalcOperator *ptr = DispatchOperand("+"); // kann auch - * / sein
    
  double result;
  double *argsptr = new double[ptr->GetArgCount()];
  
  argsptr[0] = 2.0; // vom stack
  argsptr[1] = 1.0; // vom stack

  ptr->Execute(result, argsptr);
  cout << result << endl;
  
  delete[] argsptr;
}



GetArgCount gibt zurück wieviel Paramter eine Rechenoperation baucht. Nun hab ich Execute mit Execute(double &result, double first, ...) gemacht - aber wie kann ich in Calculate dynamische Parametsrelisten übergeben?

Das mit dem Pointer Array hier ist eine Notlösung für Execute(double &result, double *ptr).

Danke im Voraus,
lg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.05.2006, 08:24 Uhr
(un)wissender
Niveauwart


Hm, klingt doch gut. Übergibst einfach einen std::vector<double>. Ansonsten kannste dir ja eine eigene Klasse bauen. Wenn die Args unterschiedliche Argumente haben, dann hat boost sicherlich was für dich - boost::any.
va_args würd eich nicht nutzen, Sehr gefährlich...
--
Wer früher stirbt ist länger tot.
 
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: