#include <iostream>
#include <cstdarg>
void func(int a,...)
{
va_list list=NULL;
va_start(list,a);
printf("func:%lld\n",*(long long*)(&a+1));
va_end(list);
}
int main()
{
float a=1.123;double b=a;
printf("%X %lld\n",*(int*)&a,*(long long*)&b);
func(1,a);
}
这个程序大家可以运行一下,与期望一致。
#include <cstdarg>
void func(int a,...)
{
va_list list=NULL;
va_start(list,a);
printf("func:%lld\n",*(long long*)(&a+1));
va_end(list);
}
int main()
{
float a=1.123;double b=a;
printf("%X %lld\n",*(int*)&a,*(long long*)&b);
func(1,a);
}
这个程序大家可以运行一下,与期望一致。