C++ this指针问题
觉得这个错误很无厘头!
error C2228: left of '.number' must have class/struct/union type#include <iostream>
有时候出现有时候不出现,求解!
下面是说测试这个错误的小代码。
#include <string>
using std::cout;
using std::endl;
using std::string;
class Student
{
public:
Student( string number );
void setNumber( string number );
string getNumber();
protected:
string number;
};
Student::Student( string number )
{
this.number = number;}
void Student::setNumber( string number )
{
this.number = number;}
string Student::getNumber()
{
return number;
}
void main()
{
Student student1( "100323" );
cout<< student1.getNumber()<< endl;
}
[解决办法]
this.number = number; 应该替换为 this->number = number;