この関数の場合:
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でそのような関数を呼び出すことは可能ですか?