Tôi chạy dưới đây với g++ -std=c++0x pod_test.cpp
trên g ++ 4.6.2 (mingw). Tôi gặp lỗi trên A4. Tại sao không phải là A4 POD?Tại sao đây không phải là loại POD?
#include <iostream>
#include <new>
#include <cstring>
using namespace std;
struct A {
int a, b;
char c;
};
struct A2 {
short buf[1];
};
struct A3:A {
};
struct A4:A {
short buf[1];
};
static_assert(std::is_pod<A>::value, "Struct must be a POD type");
static_assert(std::is_pod<A2>::value, "Struct must be a POD type");
static_assert(std::is_pod<A3>::value, "Struct must be a POD type");
static_assert(std::is_pod<A4>::value, "Struct must be a POD type");
int main(){}
có tối đa một lớp cơ sở với các thành viên dữ liệu không tĩnh. Trong tất cả các ví dụ. Quy tắc này áp dụng như thế nào? – Mordachai
"không có thành viên dữ liệu không tĩnh trong lớp dẫn xuất nhiều nhất ** và ** tối đa một lớp cơ sở với các thành viên dữ liệu không tĩnh". 'A4' có các thành viên dữ liệu không tĩnh. –
Tôi nghĩ rằng tôi liên kết với bạn. Tôi nhớ giáo phái 7-lookups-ok 9.0.7. Chấp nhận khi tôi có thể. Tôi bỏ qua ',' trước hoặc. Không có thắc mắc tại sao 'hoặc' không có ý nghĩa. –