gpt4 book ai didi

c++ - void Test::printxy(void )' : cannot convert ' this' const 类中从 'const Test' 到 'Test &' 的指针

转载 作者:行者123 更新时间:2023-11-30 01:55:34 24 4
gpt4 key购买 nike

我写了一个关于 const 类的非常简单的程序,但是,当我编译时,出现错误:void Test::printxy(void)' : cannot convert 'this' pointer from 'const Test' to 'Test & '

程序如下

#include <iostream>
using namespace std;
class Test
{
private:
int x, y;
public:
Test(int a = 1, int b = 1) : x(a), y(b) {};
void printxy();
};
void Test::printxy()
{
cout << "x*y=" << x*y << endl;
}
void main(void)
{
const Test t;
t.printxy();
system("pause");
}

最佳答案

由于 printxy 成员函数未声明为 const,因此无法在常量对象上调用它。您需要像这样声明成员函数 const:

class Test
{
void printxy() const;
// ^^^^^

// ...
};

void Test::printxy() const
{
// ...
}

关于c++ - void Test::printxy(void )' : cannot convert ' this' const 类中从 'const Test' 到 'Test &' 的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20588877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com