I'm getting back to c++ because they want that from me for the school but I ran into problem.
I defined struct like this:
struct Member{
string Name;
string Surname;
Member* Next;
};
struct List{
string Name;
Member* First;
int Size;
};
int AddToList(Member* Member, List* List){
if(List->First == nullptr){
List->First = Member;
List->First->Next = nullptr;
return 1;
}
Member* Current = List->First->Next;
while(Current != nullptr){
Current = Current->Next;
}
Current = Member;
Current->Next = nullptr;
return 2;
}
Member* Current = List->First->Next;
error: 'Current' was not declared in this scope.
int AddToList(Member* Member, List* List){
Member* Current = new Current;
if(List->First == nullptr){
List->First = Member;
List->First->Next = nullptr;
return 1;
}
Current = List->First->Next;
while(Current != nullptr){
Current = Current->Next;
}
Current = Member;
Current->Next = nullptr;
return 2;
}
Member* Current = new Current;
You have variables with the same names as their types:
int AddToList(Member* Member, List* List) {
// Member and List are the parameters, *not* the types
...
Member* Current = List->First->Next; // syntax error, Member is a variable
}
You need to change the name of these variables to something else. A common convention in C++ is to use either lowerCamelCase or snake_case for variable names:
int AddToList(Member* member, List* list) {
// Member and List are the types
// member and list are the parameters
...
Member* current = list->first->next; // Works now
}