你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
我来回答
举报
MrJiu 发表于 2017-7-13 09:18 可以把错误提示直接百度,或者谷歌一下!!!
黑皮男 发表于 2017-7-13 09:21 目前还没找到原因,再查查,库中定义了,但是我这个是结构体成员函数,也受影响,看来是对这个编译器了解 ...
MrJiu 发表于 2017-7-13 09:30 我刚刚想了一下,应该是有问题的!!!结构体里面貌似C是不能声明函数的,可以声明函数的是C++支持的!! ...
黑皮男 发表于 2017-7-13 10:39 我这个就是函数指针,结构体定义如下。目前的解决办法就是换一个名字就能通过,但是就是感觉不爽 struct ...
安 发表于 2017-7-13 08:40 楼主,在C库里面是包含这两个定义的。
安 发表于 2017-7-13 14:31 没用过GCC,楼主可以试着改一个其他的名字,如果还是报错,就看一下是不是定义的问题。最好能把你这段结构 ...
目前还没找到原因,再查查,库中定义了,但是我这个是结构体成员函数,也受影响,看来是对这个编译器了解的还是太少了
我刚刚想了一下,应该是有问题的!!!结构体里面貌似C是不能声明函数的,可以声明函数的是C++支持的!!!IAR和Keil支持C++编译器,gcc貌似是C编译器,g++好像才是C++编译器!!!你可以在结构体里面搞一个函数指针变量!!!这个是支持的!!!
我这个就是函数指针,结构体定义如下。目前的解决办法就是换一个名字就能通过,但是就是感觉不爽
struct serial_operation{
e_err_t (*init)(struct serial_dev *dev);
int (*putc)(struct serial_dev *dev, char c);
int (*getc)(struct serial_dev *dev);
};
这样不太科学吧,结构体内部的变量相当于局域内部的啊!!!这我就搞不懂了!!!
我这个是结构体内部的指针变量,也受影响吗
定义如下,改名字后是不报错的
struct serial_operation{
e_err_t (*init)(struct serial_dev *dev);
int (*putc)(struct serial_dev *dev, char c);
int (*getc)(struct serial_dev *dev);
};
int (*putc)(struct serial_dev *dev, char c);这里如果用的putc的话,应该和putc的定义一样,就不会报错了。