1
Trình biên dịch có thể đặt việc thực hiện một hàm hủy ảo được khai báo ngầm trong một đơn vị dịch riêng biệt không?
Đoạn mã sau sẽ biên dịch và liên kết với Visual Studio(cả 2017 và 2019 với /permissive-), nhưng không biên dịch với một trong hai gcchoặc clang. foo.h #include <memory> struct Base { virtual ~Base() = default; // (1) }; struct Foo : public Base { Foo(); // (2) struct …