Copy constructor bị lỗi trong C++

Mình mới học C++, muốn khởi tạo 1 object bằng cách gán object mới vào object cũ:

class Something
{
    int mValue;
public:
    Something(Something x){}
};

Mình không hiểu sao khi chạy compiler lại báo lỗi, phải sửa Something(Something x){} thành Something(const Something& x){}

Hi evai55.
Đây là hàm tạo sao chép bạn cần viết theo đúng cú pháp (Nếu không nó sẽ bị gọi đệ quy gây lỗi.)

2 Likes

Cái này là tham biến với tham trị rồi :slight_smile:

Tham số không & nghĩa là truyền tham trị, mà tham trị thì phải copy mới, nhưng bạn đang viết copy constructor mà (!)

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?