свободная структура слишком много аргументов в вызове функции

у меня есть структура списка:

typedef struct FaceNode{
FaceNode *next;
Face *aFace;
FaceNode *prev;
} FaceNode;

Я использую эту структуру в качестве члена:

FaceNode *myFaces;

и инициализировать его так (в конструкторе)

this->myFaces = (FaceNode*)malloc(sizeof(FaceNode)*1);

Позже я хочу освободить его следующим образом:

FaceNode *theCurrentFaceNode;
Face* theCurrentFace;

while(this->myFaces->next){

theCurrentFaceNode = this->myFaces;
theCurrentFace = theCurrentFaceNode->aFace;

this->myFaces = this->myFaces->next;

free(theCurrentFace);
free(theCurrentFaceNode);
}

Теперь моя IDE говорит мне: «Ошибка, слишком много аргументов в вызове функции» для свободного вызова.

Что в этом плохого?

ура

1

Решение

Вы, очевидно, объявили собственную функцию с именем freeи компилятор обнаруживает, что вместо того, который, как вы думали, вы вызывали. Используйте оператор разрешения области для вызова глобальной функции:

::free(theCurrentFace);

Или найти другой free функция и дать ему другое имя. Это может быть член класса, который вы реализуете; посмотрите на классы предков класса тоже.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]