Chạy vào một cái gì đó kỳ lạ khi thực hiện một số mẫu siêu lập trình vào ngày khác. Về cơ bản, nó đi đến khẳng định này không (như tôi mong đợi) đi qua.
static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>);
Lúc đầu, tôi nghĩ rằng tôi đã mắc một lỗi cú pháp khi xác định tham chiếu hàm, nhưng xác nhận này đã vượt qua, cho thấy đó không phải là trường hợp.
static_assert(std::is_same_v<void()&, void()&>);
Tôi cũng đã cố gắng remove_reference
tự thực hiện sao chép nguồn từ cppreference nhưng điều đó cũng không hiệu quả. Chuyện gì đang xảy ra ở đây?