Я пытаюсь использовать C stdarg.h lib с общим типом. Тип int, мой общий тип > , чтобы понять его, пожалуйста, держите чтение. Итак, моя проблема:
У меня есть функция, которая принимает переменное количество аргументов. как
void function (int paramN, ...);
В моей программе нет способа узнать, что является типом переменных аргументов, это может быть char, массив, int, short, function point и т.д.... например
function (paramN, "Hey, I'm a string", 1, function_pint, array, -1); // -1 is a sentinel.
Итак, я думаю, что int, 32 бит, в системе x86 (32 бита), это будет содержать весь адрес памяти. Итак, если я получу все аргументы с помощью int, это не будет проблемой, например, "Эй, я строка", адрес этой строки, подходящий обычно в переменной 32 бит, поэтому мне нужно только сделать в ролях.
Я прав?
Могу ли я это сделать?
Примечание. Я не хочу, чтобы моя функция, как printf (это решение, не подходит в этом случае нормально?)
Спасибо за ответ.
И извините за мой плохой английский.