01/10/2018, 01:06
Lỗi khi tách file template thành 2 file h và cpp trong c++
chào các bạn
mình có 1 template class , giờ mình muốn tách template này thành 2 file cpp, và file h,
nhưng khi tách phần định nghĩa ra khỏi file h, thì build bị lỗi, phải để phần định nghĩa trong file h nó mới chạy, phải làm ntn nhỉ
xin cam on
Bài liên quan
để phần định nghĩa trong file h
Hi Nấm Lùnhell6w9rld.
File .h của bạn không để dịnh nghĩa thì để gì ?
Mình nhớ cũng bị thế rồi, bạn thử đọc xem
stackoverflow.com
Why can templates only be implemented in the header file?
nếu nhiều hàm thành phần , mà định nghĩa trong file h luôn thì nhìn rối lắm , nên mình tách nó ra file cpp, chưa định nghĩa, còn file h chỉ để prototype của hàm, như thế dễ bào trì và xem lại hơn
tách ra cũng được, nhưng ko phải là .h và .cpp mà là .h và .tpp. File định nghĩa các method sẽ ko được biên dịch nên ko đặt đuôi là .cpp hay .c**, đặt tên là .tpp có chữ ‘t’ là template.
example.h
example.tpp
để làm cho file .h dễ nhìn thôi chứ viết như vậy dài hơn.
đúng cái cần tìm, cam on ban
vì file h của mình khá nhiều hàm nên tách ra nó dễ nhìn và bảo trì hơn
bạn ơi,
mình tách file template ra h và tpp
nhưng bị lỗi
cái của mình là template class
file h
file tpp
viết mấy cái định nghĩa cho method phải ghi đầy đủ ClassName::methodName() mà. Trong template thì ghi thêm
<T>
nữa.vd