我不知道我想要完成的事情是否可行。我对 C 很陌生。
我有一个包含指向另一个结构的指针的结构,该结构包含另一个指向另一个结构的指针。最后一个结构包含两个指向名为“leadingToCw”和“leadingToCcW”的结构的指针。我还有一个全局字符串变量 dir,它可以在任何时间点从 Cw 更改为 Ccw。它看起来像这样:
#define concat(a,b) a##b
String dir = "Ccw"; // or "Cw"
struct Intersection {
struct Sector *incoming;
}
struct Sector {
struct Sector *leadingToCcw;
struct Sector *leadingToCw;
};
现在我想要的是根据“dir”字符串调用leadingToCcw 或leadingToCw,以便输出如下所示:
Intersection->incoming->leadingToCcw
我试过这样的事情:
Intersection->incomming->(dir == "Ccw" ? concat(leadingTo, Ccw) : concat(leadingTo, Cw))
但我收到此错误:
error: expected unqualified-id before '(' token
我不知道它是否值得一提,但它适用于 Arduino 项目:-) 我希望有人可以帮助我,或者踢我屁股并告诉我这是不可行的!
为什么不使用通常的条件?
dir == "Ccw"? Intersection->incomming->leadingToCcw : Intersection->incomming->leadingToCw
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句