Tôi đang xây dựng một lớp có một liên minh cho dữ liệu ma trận của nó, tuy nhiên, tôi chỉ có thể nhận được nó biên dịch khi tôi không có một tên cho struct \ union. Tuy nhiên, với mức cảnh báo cấp cao hơn (bốn trên studio trực quan), tôi sẽ cảnh báo rằngLàm cách nào để ngăn chặn cấu trúc không tên union?
warning C4201: nonstandard extension used : nameless struct/union
Tôi xem xét nó và dường như tôi không thể tìm cách ngăn chặn điều này. Dù sao có thể tôi biết sẽ gây ra một lỗi trình biên dịch khác nhau liên quan đến việc khai báo của một hay khác. Làm thế nào tôi có thể ngăn chặn nhận được cảnh báo này và làm cho nó phù hợp với tiêu chuẩn, mà không cần vô hiệu hóa các cảnh báo.
union
{
struct
{
F32 _11, _12, _13, _14;
F32 _21, _22, _23, _24;
F32 _31, _32, _33, _34;
F32 _41, _42, _43, _44;
};
F32 _m[16];
};
(Vâng, tôi biết có thư viện matric sẵn. Xin đừng tắt chức năng này thành một "sử dụng xxx thư viện" thảo luận, tôi đang làm điều này để mở rộng kiến thức của tôi về C++".)
Vì lợi ích của người đọc trong tương lai, bạn có thể hiển thị mã có tên cấu trúc và không biên dịch không? –