对于此功能:
void foo_ref(const int& i)
{
cout << i << endl;
}
当我在 gdb 中调用它时失败了:
(gdb) call foo_ref(5)
Attempt to take address of value not located in memory.
当然,在这个简单的例子中,没有必要使用引用作为参数。如果我使用普通的“int”,那就没问题了。
其实真正的例子是一个模板函数,像这样:
template<class T>
void t_foo_ref(const T& i)
{
cout << i << endl;
}
当“T”为“int”时,我遇到了上面提到的问题。
它是gdb中的错误吗?或者我可以在 gdb 中调用这样的函数吗?