Khi biên soạn, đây:Quá nhiều ký tự constructor
template <typename T>
struct ConstArray {
///MEMBERS
T* data_;
T* end_;
///Constructors
ConstArray(T* data, T* end) : data_(data), end_(end) {}
};
template struct ConstArray<const char>;
mang lại cho tôi (nm -C *.o
):
0000000000000000 W ConstArray<char const>::ConstArray(char const*, char const*)
0000000000000000 W ConstArray<char const>::ConstArray(char const*, char const*)
0000000000000000 n ConstArray<char const>::ConstArray(char const*, char const*)
tôi dường như để có được ba biểu tượng (2 W + 1 n (không biết những gì nghĩa là)) cho mỗi hàm tạo mà tôi xác định. Chức năng dường như cho tôi một cái như mong đợi. Ai đó có thể giải thích tại sao điều này hoặc chỉ cho tôi một lời giải thích?
Có vẻ như có liên quan: http://stackoverflow.com/questions/6921295/dual-emission-of-constructor-symbols – Michael
yepp, chỉ cần tìm thấy https://www.google.com/search?q=multiple+constructors + tạo ra và có một câu trả lời tuyệt vời ở đâu đó, tôi chỉ không biết những từ tìm kiếm để sử dụng. –
@Michael Cảm ơn rất nhiều. Câu hỏi này trùng lặp với biểu tượng n không giải thích được. – PSkocik