编译一个游戏库时,遇到个奇怪的问题。一个模板函数,形参是按值传入的。编译时实参是内存对齐过的,无法通过,引发类似下面的错误:
error C2719: '_Val': formal parameter with __declspec(align('16')) won't be aligned
经查,vs2012及之前版本,内存对齐过的数据,是无法按值传入函数中的。 临时fix,将函数传入参数改为引用类型。
一些参考:
http://ofekshilon.com/2010/05/05/stdvector-of-aligned-elements/