我的班级结构如下:
Test_Camera.h:
class Test_Camera : public Camera_Interface {
public:
Test_Camera (string const& aName);
...
Test_Camera.cpp
Test_Camera::Test_Camera(string const& aName) : Camera_Interface(0, 0, 0, 0), name(aName)
在我实例化Test_Camera
对象的代码中,我有2个场景。第一个编译好,但第二个编译没有,我无法弄清楚原因。
Test_Camera cam ("cam"); // This compiles
Test_Camera& cam ("cam"); // This does not compile
当我尝试编译第二个例子时,我收到一个错误:
错误:对类型为'Test_Camera&'的非const引用的初始化无效来自临时类型'const char *'
我也尝试过:
string name = "cam";
Test_Camera& cam (name); //does not compile
答案 0 :(得分:6)
引用应该引用现有对象:
Test_Camera cam ("cam");
Test_Camera &cam_ref = cam;