[c++]. Unspecified number of arguments
Передавай объект параметром, хуле.
передавай вместо функции - объект, или ботай что такое mem_fun-ы
не, если у меня будет несколько функций:
func1(float x, float y, int a, float b)
func2(float x, float y, float b)
func3(float x, float y, short a, int b)
че тогда делать? несколько вариантов fff не канает...
class A
{
public:
virtual ~A throw
{
}
virtual float operator = 0;
};
class YourFunc: public A
{
public:
YourFunc( float a, float b, float c ):
d_a( a
d_b( b
d_c( c )
{
}
virtual ~YourFunc throw
{
}
virtual float operator
{
//do good things with d_a, d_b, d_c :)
return d_a + d_b + d_c;
}
private:
float d_a;
float d_b;
float d_c;
};
float func( A& func_obj )
{
return func_obj;
}
int main
{
YourFunc param( 1, 2, 3 );
func( param );
}
спасибо
Оставить комментарий
okunek
Ситуация.Есть функция (назовем ее fff которая юзает некую другую функцию func, причем я сам пока не знаю, что будет внутри func и какие параметры ей передавать. Более того, понадобится несколько реализаций func... Заранее известно, что у func точно есть два параметра, а наличие (количество и тип) других зависят от ее реализации. Я тут настрочил кое-какой код, который как оказалось (ну и это довольно очевидно) неправильный.
понятно, что в этом коде в func передается адрес переменной в стеке, а не те параметры, которые я задал в main-е. В общем, как правильно объяснить компилятору, чтобы все доп. аргументы fff передавались в func?
Посмотрел в страуструпе, ничего подобного не увидел...
ЗЫ. если что-то хреново описал, могу описать более детально...