tôi nhận thấy một cách tình cờ rằng mã này biên dịch và làm việc một cách chính xác:Tại sao decltype (lớp :: lớp :: lớp :: thành viên) có hiệu lực
struct M { int some_int; };
static_assert(std::is_same<
decltype(M::M::M::M::some_int) /* <- this */,
int>::value, "Types must be int");
Tại sao là đúng (decltype(M::M::M::M::some_int) <=> decltype(M::some_int)
) này?
Những cấu trúc nào khác có thể sử dụng mẫu này với class::class::...::member
?
Compiler: Microsoft (R) C/C++ Compiler Tối ưu hóa Version 19.00.23824.1 cho x86
Oh boy..let flow upvotes cho một thứ rõ ràng là [duplicate] (http://stackoverflow.com/q/12135498). –