01/10/2018, 01:09

Error LNK2005: "char (* CMND)[25]" (?CMND@@3PAY0BJ@DA) already defined in so doc gia theo gioi tinh.obj

mình tạo 2 cái header.h
trong mỗi cái lại khai báo 3 cái void()
trong source viet chương trình cho 6 cái void đó mỗi cái mình đều include header.h
viết thêm hàm main() include cái đó 2 header.h lun rồi thì nó báo lỗi hơn 100error giống vầy ai giúp sửa với

Trần Hoàn viết 03:15 ngày 01/10/2018

nếu phương thức cùng tên, cùng tham số, cùng kiểu trả về thì chỉ định nghĩa trong 1 file .h và 1 file .cpp thôi. Nếu muốn viết lại thì phải override

Khoa NTA viết 03:17 ngày 01/10/2018

Bạn thử cách này xem:

// Nếu tên file là header.h thì nên đặt thành _HEADER_H_
// Nếu file kia tên là header2.h thì đổi thành _HEADER2_H_
#ifndef _HEADER_H_
#define _HEADER_H_

// Đặt code của bạn ở đây!
void function_1();

#endif

Lỗi đó thường là do include quá nhiều lần dẫn đến việc lặp vô hạn các include (mình đoán vậy thôi).
Mình cũng từng thấy preprocessor #include_once nhưng mình không rõ về nó nên không dám chỉ.

Bài liên quan
0