嗯,我必须恢复一个在此之前回答过的问题。由于其他原因我做了一些更改,现在我又遇到了问题。下面是相关的细节:从不同大小的整数转换为指针[-Wint-to-pointer-cast]
volatile char RxBuffer1[NEMA_BUFFER_LENGTH];
uint32_t NEMA_TypeStart;
char NEMA_Type[10];
uint32_t len;
...
memcpy(NEMA_Type,(const char*)RxBuffer1[NEMA_TypeStart], len);
跟投,我得到在主题行中显示的错误。如果没有投我得到:
合格“的memcpy”参数2,使指针从整数没有 投
注意,如果我使用strncpy()函数,而不是同样的事情发生。所以我很难过。我以为我明白,memcpy使用void *。我究竟做错了什么?
你答案是正确的。谢谢。我想我是试图学习速度的受害者。我认为字符串变量真的是C中的一个指针,换句话说,我认为RxBuffer1 [n] ==&RxBuffer1 + n – user1160866 2012-02-05 06:00:12
'RxBuffer'不是一个字符串,它是一个数组。例如,你可以做'Rxbuffer [2] = RxBuffer [0]',所以它们必须是数组元素的值。 – 2012-02-05 06:01:22
并且不要将演员放在那里,它只是分散问题 – 2012-02-05 09:58:18