ошибка: ожидаемый список спецификаторов-определителей до… - PullRequest
0 голосов
/ 15 мая 2011

Я не уверен, почему я получил эту ошибку в DetailViewController .. заголовок включен без орфографической ошибки.попытался очистить проект и собрать его

#import <UIKit/UIKit.h>
#import "Conversation.h"
#import "Login.h"
#import "DetailViewController.h"

@interface DetailMessageViewController : UIViewController<RKObjectLoaderDelegate, UITableViewDataSource, UITableViewDelegate,  MHLazyTableImagesDelegate> {
    DetailViewController * detailViewController;  //error: expected specifier-qualifier-list before
    UITableView * tableView;
    NSMutableArray * messages;
    MHLazyTableImages* lazyImages;
}

@property (nonatomic, retain) NSMutableArray * messages;
@property (nonatomic, retain) IBOutlet UITableView * tableView;
@property (nonatomic, retain) DetailViewController * detailViewController;

@end

Ответы [ 2 ]

2 голосов
/ 15 мая 2011

Возможно, у вас есть циклически зависимый импорт. Заголовочный файл для DetailMessageViewController также включен в DetailViewController.h или Login.h или Conversation.h?

2 голосов
/ 15 мая 2011

О, один из них. Я ненавижу это.

Скорее всего, это из-за того, что протоколы не объявлены (или написаны с ошибками). Или это потому, что в заголовке есть синтаксическая ошибка, из-за которой компилятору не удается закрыть выражение или область видимости. Или это может быть синтаксическая ошибка рядом с тем местом, где файл заголовка был импортирован в файл .m.

В любом случае боль в заднице. Однако вы можете взять командную строку компилятора и вставить в нее -E; это заставит компилятор все предварительно скомпилировать и выгрузить именно то, что он собирался скомпилировать в то, что должно быть .o (вы также можете изменить это имя). Затем, если вы посмотрите, где находится приведенная выше строка кода, строка, вызывающая ошибку, должна быть рядом, даже если из другого заголовка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...