我在C和PRO * C中比较大,需要一些帮助。我的结构如下:
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)
}
和帖子功能是:
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
有人知道如何解决这个问题?
谢谢!
答案 0 :(得分:2)
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));