I've been working on the Cell processor and I'm trying to create a struct that will hold an spe_context_ptr_t
, which will be used within the thread to launch an spe context and will also hold a pointer to something else that will be passed to the spu context from within the thread (currently I'm trying to just make it a generic pointer, but in actuality it will be a pointer to another structure I've defined). When I try and compile, I get the following error:
spu/../common.h:38: error: expected specifier-qualifier-list before 'spe_context_ptr_t'
// here is the offending line(s)
typedef struct _PTHREAD_BLOCK {
spe_context_ptr_t * context; // Error happens here
uintptr32_t args;
} PTHREAD_BLOCK;
The compiler doesn't know that spe_context_ptr_t is a type. Check that the appropriate typedef is in scope when this code is compiled. You may have forgotten to include the appropriate header file.
I had the same error message but the solution is different.
The compiler parses the file from top to bottom.
Make sure a struct is defined BEFORE using it into another:
typedef struct
{
char name[50];
wheel_t wheels[4]; //wrong, wheel_t is not defined yet
} car_t;
typedef struct
{
int weight;
} wheel_t;
For iPhone cocoa-touch projects:
I had this problem and thanks to Eric Farraro's comment, I was able to get it resolved. I was importing a class WSHelper.h in many of my other classes. But I also was importing some of those same classes in my WSHelper.h (circular like Eric said). So, to fix this I moved the imports from my WSHelper.h file to my WSHelper.m file as they weren't really needed in the .h file anyway.
You have to name your struct like that:
typedef struct car_t {
char
wheel_t
} car_t;
I got it with an import loop:
---FILE B.h
#import "A.h"
@interface B{
A *a;
}
@end
---FILE A.h
#import "B.h"
@interface A{
}
@end
我能够使用Gorgando的解决方案对此进行排序,但不是将导入移出,而是单独评论每个,构建应用程序,然后相应地进行编辑,直到我摆脱它们。
@simpleBob
---FILE B.h
#import "A.h"
@interface B{
A *a;
}
@end
---FILE A.h
@class B;
@interface A{
}
@end
code above helped me sort it out. Could someone explain what is going on here?
在使用它之前使用该对象时,基本上会出现此错误。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.