gpt4 book ai didi

c - 在 C 中将 "direct"结构作为函数传递

转载 作者:太空狗 更新时间:2023-10-29 15:58:49 25 4
gpt4 key购买 nike

我有一个关于 C 中结构的简单问题。

我有这个结构和这个函数:

struct Vec2
{
int x;
int y;
}

void draw(Sprite* sprite, struct Vec2 pos);

有没有在 C++ 中做等效的事情?

draw(foo, new Vec2(10, 20));

我试过了,但编译器不同意我的观点:

draw(foo, {10, 20} );

有人帮忙吗?

编辑:我在 C++ 模式下使用 Visual C++ 2008 Express,但对于我的学校,我必须直接用 C 编写代码,而不是 C++

最佳答案

如果您的编译器支持 C99 或更高版本,您可以使用复合文字:

draw(foo, (struct Vec2){10, 20});

或者,如果您想更明确地说明成员名称:

draw(foo, (struct Vec2){.x = 10, .y = 20});

(请注意,Microsoft 的 C 编译器不支持 C99,这可能会限制代码的可移植性。)

关于c - 在 C 中将 "direct"结构作为函数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15507847/

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