新手请教const的用法
大家好,我有一个程序:
#include<iostream>
using namespace std;
class A
{
public:
inline void func(int x, int y);
void print()const
{
cout<<"两个数相乘为:"<<i*j<<endl;
}
private:
int i;
int j;
};
void A::func(int x, int y)
{
i = x;
j = y;
}
int main(void)
{
A a;
a.func(20, 50);
a.print();
A b;
b.func(10, 30);
b.print();
return 0;
}
这样写正常可以编译。
修改后:
#include<iostream>
using namespace std;
class A
{
public:
inline void func(int x, int y);
void print();
private:
int i;
int j;
};
void A::func(int x, int y)
{
i = x;
j = y;
}
void A::print()const
{
cout<<"两个数相乘为:"<<i*j<<endl;
}
int main(void)
{
A a;
a.func(20, 50);
a.print();
A b;
b.func(10, 30);
b.print();
return 0;
}
提示这个错误信息:
f:\my project\20141124_const函数\20141124_const函数\20141124_const函数.cpp(21) : error C2511: “void A::print(void) const”: “A”中没有找到重载的成员函数
是什么原因呢?