C++得意な方へ質問なのですが、何故 非constな参照を一時オブジェクトで初期化できないのでしょうか? class A { public: A() {} ~A() {} }; void test(A& a) { a.method(); } void test_main() { test(A()); // <- この行 } ここで、test(A())の行で、 initial value of reference to non-const must be an lvalue というエラーが出てしまいます。const参照ならば、当然OKですが このようになっている理由が知りたいです。