C++中,在被调函数中如何获得实参的标识符?

在被调函数中打印主调函数中实参标识符,如下例中,被调函数只能输出a=3,我希望打印x=3。
相关代码
int prt_fun(int i)
{
    cout << "a=" << i << endl;
    return 0;
}

int main()
{
    int x = 3;
    prt_fun(x);
}
被调函数只能输出a=3
完全没获得实参标识符的思路
我希望打印x=3。“x”为主调实参的标识符

你可以用宏来实现,不过宏不是函数

#include <iostream>

#define prt_fun(x)                                \
    do                                            \
    {                                             \
        std::cout << #x << '=' << x << std::endl; \
    } while (0)

int main()
{
    int x = 3;
    prt_fun(x);
    return 0;
}

当然不会有。实际上在编译好的程序里,内部变量完全可以被替换为别的变量名。要么再加一个参数把名字传进去吧

你想多了,要是只传i这一个参数,不可能实现,不过你可以加一个变量名的参数