gpt4 book ai didi

c++ - 为什么对齐参数编译正确,但在运行时崩溃?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:23:53 26 4
gpt4 key购买 nike

我在两个 VS2010 项目中有这段代码:

__declspec(align(16)) struct S {
int a;
};

void f(S v) {}

它不应该编译,因为你不能将对齐的参数传递给函数(除非你通过引用传递它们);正如我所料,一个项目确实拒绝了它。但是另一个项目编译它没问题,然后它在运行时崩溃了。

我的问题是:为什么允许编译?

我查看了所有编译器选项,但找不到任何相关内容。

最佳答案

您是否已确认您没有在任何地方定义名为“对齐”的宏?如果不是,则放置

#undef align

紧接着上面的代码并重新编译。如果失败,那么您在某处定义了该宏。

关于c++ - 为什么对齐参数编译正确,但在运行时崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com