Код: Выделить всё
#include
#include
template
struct alignas(2) Node {
T elememt;
Node* next;
};
int main() {
Node n;
auto addr = reinterpret_cast(&n);
assert((addr & 1) == 0);
}
- предупреждение C4359: «Узел» : Спецификатор выравнивания меньше фактического
выравнивания (8) и будет игнорироваться.
Есть ли способ избежать это предупреждение в MSVC, сохраняя при этом спецификатор alignas для семантической ясности? Или есть лучший подход для достижения этой цели?
Подробнее здесь: https://stackoverflow.com/questions/793 ... eclaration