Tôi muốn cung cấp một chuỗi liên tục trong một API như vậy:extern const char * const SOME_CONSTANT đem lại cho tôi lỗi mối liên kết
extern const char* const SOME_CONSTANT;
Nhưng nếu tôi định nghĩa nó trong tập tin nguồn thư viện tĩnh của tôi như
const char* const SOME_CONSTANT = "test";
tôi nhận được mối liên kết lỗi khi liên kết chống lại thư viện đó và sử dụng SOME_CONSTANT:
lỗi 1 lỗi LNK2001: biểu tượng bên ngoài chưa được giải quyết " const char * const SOME_CONSTANT"(? SOME_CONSTANT @@ 3QBDB)
Loại bỏ các con trỏ const-Ness (từ khóa const thứ hai) từ cả extern const char* const
khai và định nghĩa làm cho nó hoạt động. Làm thế nào tôi có thể xuất nó với con trỏ const-ness?
, có vẻ như không sao http://stackoverflow.com/questions/2190919/mixing-extern-and-const –
Xem như bạn đã gắn thẻ nó C++, không phải là một "chuỗi liên tục" thực sự là 'const std :: string' ở nơi đầu tiên? – Angew
Ngoài ra, khai báo 'extern' có thể nhìn thấy trong tệp nguồn xác định hằng số không? – Angew