Điều này chỉ xuất hiện trong bối cảnh của một câu hỏi khác .
Rõ ràng các hàm thành viên trong các mẫu lớp chỉ được khởi tạo nếu chúng được sử dụng ODR. Ai đó có thể giải thích chính xác điều đó có nghĩa là gì. Các bài viết trên wikipedia Một Definition Rule (ODR) không đề cập đến " ODR sử dụng ".
Tuy nhiên, tiêu chuẩn xác định nó là
Một biến có tên xuất hiện dưới dạng biểu thức được đánh giá tiềm năng được sử dụng odr trừ khi nó là một đối tượng đáp ứng các yêu cầu để xuất hiện trong một biểu thức hằng số (5.19) và việc chuyển đổi giá trị thành giá trị (4.1) được áp dụng ngay lập tức.
trong [basic.def.odr].
Chỉnh sửa: Rõ ràng đây là phần sai và toàn bộ đoạn văn có nhiều định nghĩa cho những thứ khác nhau. Đây có thể là cái có liên quan cho chức năng thành viên mẫu lớp:
Một hàm không quá tải có tên xuất hiện dưới dạng một biểu thức được đánh giá tiềm năng hoặc một thành viên của một tập hợp các hàm ứng cử viên, nếu được chọn theo độ phân giải quá tải khi được tham chiếu từ một biểu thức được đánh giá tiềm năng, được sử dụng odr, trừ khi nó là một ảo thuần túy chức năng và tên của nó không đủ điều kiện rõ ràng.
Tuy nhiên, tôi không hiểu, quy tắc này hoạt động như thế nào trên nhiều đơn vị biên dịch? Tất cả các hàm thành viên có được khởi tạo không nếu tôi khởi tạo một cách rõ ràng một mẫu lớp?