Я определил свой struct
в файле .h
, и я пытаюсь получить к нему доступ из файла .cc
. Тем не менее, я продолжаю получать ошибки при компиляции.C++ Access struct в исходном файле
Это в моем .h
:
class List
{
public:
struct ListNode
{
string data;
ListNode* next;
};
}
И это в моем .cc
файл: (.h
файл включен)
struct ListNode* startPtr;
List::List(void)
{
startPtr = new ListNode;
startPtr = nullptr;
}
При попытке использовать его, как это,
void Print()
{
while (startPtr)
{
cout << startPtr->data << endl;
startPtr = startPtr->next;
}
}
я получаю сообщение об ошибке, как
Forward declaration and unauthorized usage of undefined type.
много ответов, но по другому вопросу, имея глобальную переменную startPtr совершенно неправильно. Список должен быть самостоятельным классом, он не должен полагаться на какие-либо глобальные переменные. И методы печати, и конструктор списка тоже выглядят неправильно. – john