【发布时间】:2016-01-09 18:41:25
【问题描述】:
不允许在 C51 中包含数组的结构?在我的 C51 程序中定义了一个简单的结构后,
struct RingBuffer
{
int zero;
int size;
int capacity;
char data[10];
};
我收到错误:..\SOURCE\MYRINGBUFFER.H(25): error C141: syntax error near '['。很明显,错误在struct中定义的char数组的行(注释后没有错误)。
我在这里做错了吗?如果没有,无论如何我可以实现我想要做的事情吗?
编辑:所有代码。
#ifndef __MY_RING_BUFFER_H__
#define __MY_RING_BUFFER_H__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct RingBuffer
{
int zero;
int size;
int capacity;
char data[10];
};
#endif
【问题讨论】:
-
BUFFER_SIZE是如何定义的? -
如果编译器不够聪明,那么
+可能会让它认为大小是一个动态值。 -
@MOehm,我怀疑这一点,但它没有用。事实上,整个代码只包含顶部和 this 的一些包含。
-
我不知道为什么这个问题会被投票赞成,甚至反对票。它以增加洞察力的形式为该站点上的 C51 编译器用户增加了价值。 OP 问题清晰简洁地提出了一些先前调试和研究的证据。虽然我最初评论说OP的答案应该是评论,但我现在看到虽然很短,但这是一个很好的答案。再次简洁明了。