C++ 通过参考C++;编译错误

C++ 通过参考C++;编译错误,c++,C++,您好,我正在尝试通过函数解析一个类。我需要它是只读的,我没有必要编辑它。为此,我使用const参数通过引用传递对象。但我无法理解我做错了什么 void Container::push_Object(const Module& input){ cout << "Pushing object" << endl; input.print(); ...... } void容器::push_对象(const模块和输入){ cout不能对常量引用调

您好,我正在尝试通过函数解析一个类。我需要它是只读的,我没有必要编辑它。为此,我使用const参数通过引用传递对象。但我无法理解我做错了什么

 void Container::push_Object(const Module& input){
      cout << "Pushing object" << endl;
      input.print();
......
}
void容器::push_对象(const模块和输入){

cout不能对常量引用调用非常量函数 换成

void print() const;

要在常量对象上调用方法,它本身需要是const.change行

void print();
致:

它会起作用的。

这本质上意味着
print()
内的
this
指针是常量,因此
print()
无法更改对象,从而保持其常量。

确保不
输入。print
(不带括号)在代码中的某个位置。复制并粘贴产生错误的准确行。将
打印
声明为
常量
function@NemanjaBoric这就是我得到的那一行。@AndyG是的,这会起作用,但这两个不是等价的吗?我想知道
Error 15
是一些内部代码,还是仅仅是报告的第15个错误。
void print();
void print() const;