- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在解决一个未知问题时遇到问题,这是我在 Arduino Nano(ATmega328) 上从未遇到过的问题。我正在构建一个无人机源代码并且它一直运行良好。但是,Arduino IDE 突然出现错误。
显然,我是编程方面的菜鸟。所以帮我找出解决这个问题的方法。
我遇到这样的错误:
error: expected unqualified-id before '[' token
error: 'value' does not name a type
Quadcopter_Code_Arduino:580: error: expected unqualified-id
before '[' token
struct op[]
^
Quadcopter_Code_Arduino:589: error: 'value' does not name a type
} value;
^
typedef union accel_t_gyro_union
{
struct
{
uint8_t x_accel_h;
uint8_t x_accel_l;
uint8_t y_accel_h;
uint8_t y_accel_l;
uint8_t z_accel_h;
uint8_t z_accel_l;
uint8_t t_h;
uint8_t t_l;
uint8_t x_gyro_h;
uint8_t x_gyro_l;
uint8_t y_gyro_h;
uint8_t y_gyro_l;
uint8_t z_gyro_h;
uint8_t z_gyro_l;
} reg;
struct op[]
{
int x_accel;
int y_accel;
int z_accel;
int temperature;
int x_gyro;
int y_gyro;
int z_gyro;
} value;
};
最佳答案
来自 http://en.cppreference.com/w/cpp/language/union
A union is a special class type that can hold only one of its non-static data members at a time.
和
The union is only as big as necessary to hold its largest data member. The other data members are allocated in the same bytes as part of that largest member.
还有:
您的声明不正确,应该是:
struct op
{
int x_accel;
int y_accel;
int z_accel;
int temperature;
int x_gyro;
int y_gyro;
int z_gyro;
} value [SIZE];
我建议你为你的数组使用一个特定的大小,或者你的结构类型的指针声明来明确,你稍后会决定它的堆大小,但堆栈上的 union 将有一个指针大小成员(member)...
(尽管在我的快速测试中它仍然可以编译和工作......我也应该阅读这种行为。:D)
使用上面更正的声明。
建议:对括号中的数组使用 SIZE。如果您还不知道大小,请出于上述原因使用指针。
关于c++ - '[' token 和 + 之前的预期不合格 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759434/
我是 DDD 的新手,正在考虑在我的项目中使用这种设计技术。 然而,让我对 DDD 印象深刻的是这个想法是多么的基本。与 MVC 和 TDD 等其他设计技术不同,它似乎不包含任何突破性的想法。 例如,
我正在尝试理解 elementFormDefault="qualified/unqualified" 的含义在嵌入 WSDL(SOAP 1.1、WSDL 1)的 XML 模式中。 例如,我在 WSDL
我有一段代码,它使用 iostreams 的 xalloc 和 pword 将各种类型的标志存储为指针。由于 pword 公开了一个 void*&,我有一个简单的包装器来通过旧的 C 转换公开存储的类
我是一名优秀的程序员,十分优秀!