Ожидаемый идентификатор или токен '(' before '.' ' - PullRequest
2 голосов
/ 07 октября 2010

Я новичок в Objective-C, поэтому я использую книгу, чтобы справиться с ней.Я нахожусь в некоторой степени, где он объясняет структуры, и я не могу всю жизнь заставить их работать.

У меня есть следующий код:

int main (int argc, char *argv[])
{

    struct node
    {
        int nodeID;
        int x;
        int y;
        BOOL isActive;
    };

    typedef struct node myNode;

    myNode.nodeID = 1;

}

, и яПолучение ошибки написано в заголовке.Каждый раз, когда я ищу эту ошибку в Интернете, я обнаруживаю разные варианты, такие как 'before'> 'token' или 'before'} 'token', но я не могу найти ничего с помощью '.'маркер, и это действительно расстраивает, и я предполагаю, что это что-то нелепо тривиальное и основное.Любая помощь будет оценена.

Ответы [ 3 ]

3 голосов
/ 07 октября 2010

Я полагаю, вы пытаетесь изменить сам фактический тип.nodeA теперь тип этой структуры, очень похожий на int.Вам нужно сделать что-то вроде nodeA myNode, тогда вы сможете выполнить myNode.nodeID = 1 без ошибок.

1 голос
/ 07 октября 2010

У меня есть сортировка сейчас, я использовал следующее, и теперь, кажется, это исправлено:

int main (int argc, char *argv[])
{    

    struct node
    {
        int nodeID;
        int x;
        int y;
        BOOL isActive;
    };

    struct node myNode;

    myNode.nodeID = 1;
    myNode.x = 100;
    myNode.y = 200;
    myNode.isActive = TRUE;

}

Спасибо за вашу помощь, Дарт!:)

0 голосов
/ 30 января 2012

Я думаю, что проблема с оригинальным кодом была в том, что он пытался сделать myNode именем типа, используя typedef. Таким образом, myNode НЕ является переменной, с которой может произойти присвоение. Скорее, это был еще один псевдоним для struct node.

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