我是C编程的新手,我试图阅读类似的问题,但我无法解决我的特定问题。
我有这个小函数,它返回一个指向g_Uart0RxBuf数组的指针:
uint8_t* R_UART0_getBuffer()
{
uint8_t* pointer_to_buffer;
pointer_to_buffer = &g_Uart0RxBuf[0];
return pointer_to_buffer;
}
在调用函数中,我这样做:
uint8_t* pointer; //Define pointer variable
pointer = R_UART0_getBuffer(); //Should return a pointer to an uint8_t
老实说,我不明白为什么我需要演员才能完成这项工作。没有铸造是不是可以做到?
非常感谢并且对于提出这样一个noob问题表示歉意。
答案 0 :(得分:0)
不需要施法。问题归结为以下之一:
在编译器看到函数声明之前,你正在调用select distinct on (id) *
from t
order by num <> 'AM', date
,而现在松散的C编译器允许隐式函数定义(自C99以来一直不允许)但有些编译器默认启用它!)
编译错误实际上是指语句R_UART0_getBuffer
,具体取决于该数组中的类型。