嗯,我必須恢復一個在此之前回答過的問題。由於其他原因我做了一些更改,現在我又遇到了問題。下面是相關的細節:從不同大小的整數轉換爲指針[-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