Tôi là người mới sử dụng C++. Hôm nay, tôi có một vấn đề: trong tập tin tiêu đề, tôi xác định một lớp:Lỗi C++: Không khai báo thành viên
template<class T> class Ptr_to_const {
private:
Array_Data<T>* ap;
unsigned sub;
public:
...
Ptr_to_const<T> & operator=(const Ptr_to_const<T> & p);
};
và trong tập tin nguồn, tôi chương trình như:
template<class T> Ptr_to_const<T>& Ptr_to_const<T>::operator=(
const Ptr_to_const<T> & p) {
...
return *this;
}
khi biên soạn, biên dịch luôn luôn nói: 'Thành viên tuyên bố không tìm thấy '. tại sao?
tôi sử dụng nhật thực CDT + Cygwin GCC
thank you very much!
AFAIK bạn không nên triển khai lớp mẫu trong tệp nguồn. Đặt định nghĩa của hàm trong tiêu đề. – Lucian