[expr.call]/2 Unclear specification for virtual function calls P4176

Đang mở Phù hợp với người mới
#9,300 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
75/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
cpp
Lĩnh vực
documentation

Hướng nghiên cứu

Bắt đầu tại [expr.call]/2 trong bản thảo C++ và so sánh cách diễn đạt của nó với P4176. Kiểm tra cách đoạn văn xử lý ::x.foo() và điều kiện truy cập thành viên lớp còn thiếu; công việc hoàn tất khi cả hai vấn đề đặc tả đều được giải quyết, είτε bằng đoạn văn hoặc bằng việc áp dụng P4176.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

[expr.call]/2 says

If the selected function is non-virtual, or if the id-expression in the class member access expression is a qualified-id, that function is called. Otherwise, its final overrider in the dynamic type of the object expression is called; such a call is referred to as a virtual function call.

First, it should use "of" instead of "in". Consider ::x.foo().

Second, the "class member access expression" comes from nowhere, lacking a condition like "if the postfix-expression is a class member access expression".

Note that both would be resolved if P4176 is adopted.

Ngôn ngữ chính
TeX
Star
221
Fork
813
Merge trung bình
16 giờ 4 phút
Pull request đã merge (30 ngày)
36

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cplusplus/draft

Tất cả issue của cplusplus/draft

Issue tương tự

Thêm issue về Documentation

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.