我是C和PRO*C的biginner,需要一些帮助。我有一个如下的结构:
typedef struct pt_st{
char (*s_no)[100];
char (*s)[100];
} pt_st;
我有一个函数像c_info调用post函数:
int c_info(pt_st ir_st)
{
int li_result = 0;
li_result = post(ir_st.s_no)
}
和post函数是:
int post(char *is_st)
{
//do something
}
当我编译我的程序时,我得到三个错误:
warning: passing arguments post from incompatible pointer type
warning: passing arguments post make integer from ponter without cast
warning: passing arguments post make ponter from integer without cast
有人知道我怎么能解决这个问题吗?
谢谢!
pt_st.s_no
和pt_st.s
都声明了指向char
数组的指针。
所以post()
函数需要预期如下:
int post(char (*s_no)[100]);
如果int post(char * is_st)
的定义不能更改,那么这样调用它:
pt_st s = ... /* some initialisation */
int result = post(*(s.s_no));