这是我遇到问题的代码:
typedef const char* sun_date_t;
typedef const char* sun_time_t;
typedef struct sun_t {
int luminosity;
/* private */
sun_date_t date;
sun_time_t time;
sun_time_t sunrise;
sun_time_t sunset;
pthread_t tid;
pthread_mutex_t mutex;
} sun_t;
void sun_parse_data (sun_t* this, FILE* f){.....}
如你所见,我定义了一个结构,在我尝试将其作为指向这个" sun_t"的指针后,但是编译器说我需要编写','或者' ....'之前'这个'。任何想法如何解决?
答案 0 :(得分:2)
您必须编译为C ++,因为this
是keyword in C++中的C it is not,但如果您使用this
作为变量名称可能不是一个好主意想要稍后移植代码。
代码可以很好地编译为C程序:see it live但是当我们尝试编译为C ++程序时,我们会看到相同的错误:see it live:
错误:在'this'之前预期','或'...'