Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef void (*EndFunction)(...);
- void endFunction(double a, double b, int c, void* d) {
- }
- EndFunction someEndFunction = (EndFunction) endFunction;
- void recieverFunction(SomeParamStack* stack, ...) {
- if(stack->empty()) someEndFunction(/* вот тут нужно поместить список аргументов */);
- else switch (stack->getNextType()) {
- case(ST_INT) : {
- recieverFunction(stack,/* аргументов */,stack->getInt(),);
- break;
- }
- case(ST_DOUBLE) : {
- recieverFunction(stack,/* аргументов */, stack->getDouble());
- break;
- }
- case(ST_POINTER) : {
- recieverFunction(stack,/* аргументов */, stack->getPointer());
- break;
- }
- }
- }
- int main ( int argc, char **argv ) {
- SomeParamStack stack;
- stack->pushPointer(0);
- stack->pushInt(3);
- stack->pushDouble(2.2);
- stack->pushDouble(1.1);
- recieverFunction(stack);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement