Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
任何人都可以帮助我解决以下问题吗?
定义一个具有以下原型的宏: F(A, B, C, D) 使用此宏 as 后F(name, float, a, b),您应该可以使用变量name.a和name.b。确保您的实现是可重用的,即您可以F在同一个块中多次使用。 此外,扩展它以便将预定义的前缀添加到变量中。也就是说,如果预定义的前缀是pt,那么在使用这个宏之后,你应该可以使用 pt_name.a, 和pt_name.b。
定义一个具有以下原型的宏:
F(A, B, C, D)
使用此宏 as 后F(name, float, a, b),您应该可以使用变量name.a和name.b。确保您的实现是可重用的,即您可以F在同一个块中多次使用。
F(name, float, a, b)
name.a
name.b
F
此外,扩展它以便将预定义的前缀添加到变量中。也就是说,如果预定义的前缀是pt,那么在使用这个宏之后,你应该可以使用 pt_name.a, 和pt_name.b。
pt
pt_name.a
pt_name.b
思杰询问
这里:
#define F(name, type, var1, var2) struct {\ type var1 ;\ type var2 ;\ } name
那应该行得通。