#include <iostream>
#include <string.h>
char* basename(const char* filname);
int main()
{
return 0;
}
char *basename(const char* filename)
{
char* base = (char *)filename;
return base ;
}
biên soạn trên g ++ 4.1.2 20.070.115 (SUSE 10): Không có vấn đềCompilation Lỗi trong g ++ 4.3.4 biên dịch
biên soạn trên g ++ 4.3.4 (SUSE 11) tạo ra khoảng sau lỗi
fileName : 9: error: khai báo char * basename (const char *) ném ngoại lệ khác nhau
tên tệp: 3: error: from declaration declaration char * basename (const char *) throw().
Vui lòng cho tôi biết tại sao điều này xảy ra, Có giao diện nào thay đổi trong g ++ giữa hai bản phát hành này không (nếu tôi xóa bỏ chuỗi. Sau đó biên dịch thành công trên cả hai phiên bản g ++, Có bất kỳ thay đổi Giao diện nào trong chuỗi.h).
Vâng, trên gcc 4.4.3 lỗi tiết hơn được nhìn thấy trong đó nêu: /usr/include/string.h:601: lỗi: ambiguates cũ tuyên bố 'const char * basename (const char *) ' –