Hôm nay tôi phát hiện ra rằng có thể khai báo hàm trong tiêu đề có một chữ ký và triển khai nó trong tệp nguồn có chữ ký khác (tương tự). Ví dụ: như thế này:Xác định hàm có chữ ký khác
// THE HEADER example.hpp
#ifndef EXAMPLE_HPP
#define EXAMPLE_HPP
int foo(const int v);
#endif
// THE SOURCE FILE example.cpp
#include "example.hpp"
int foo(int v) // missing const
{
return ++v;
}
Điều này có được cho phép không? Hay đây là phần mở rộng của trình biên dịch (Tôi đang sử dụng g ++ 4.3.0)?
CHỈNH SỬA Tôi đang biên dịch với mức cảnh báo có thể xảy ra và có thể xảy ra tối đa và tôi vẫn không nhận được cảnh báo hoặc lỗi.
Bạn đã đọc Tiêu chuẩn? – Abyx