Tôi có file hai C++, nói file1.cpp và file2.cpp nhưkhai Chức năng trong C và C++
//file1.cpp
#include<cstdio>
void fun(int i)
{
printf("%d\n",i);
}
//file2.cpp
void fun(double);
int main()
{
fun(5);
}
Khi tôi biên dịch chúng và liên kết chúng như C++ file, tôi nhận được một lỗi "không xác định tham chiếu đến vui vẻ (gấp đôi) ".
Nhưng khi tôi làm điều này dưới dạng tệp C, tôi không nhận được lỗi và 0 được in thay vì 5.
Vui lòng giải thích lý do.
Hơn nữa, tôi muốn hỏi liệu chúng ta có cần khai báo một hàm trước khi xác định hàm đó không bởi vì
Tôi chưa khai báo nó trong tệp1.cpp nhưng không có lỗi nào trong quá trình biên dịch.
Tắt chủ đề: nếu bất kỳ câu hỏi nào trước đây của bạn được trả lời thỏa mãn, bạn nên quay lại và chấp nhận các câu trả lời đã nói. Chỉ để được tốt đẹp. – outis
Chỉ cần thêm vào @outis: làm như vậy sẽ làm tăng cơ hội ai đó trả lời câu hỏi của bạn. – ereOn