ins takes a reference to character array, and you are passing pointer to it.
You need to pass array by reference to achieve anything. And this is not easy to get right as you noticed. Arrays are weak, they will decay to pointer at slightest wrong move. So try to not use array references in your code (and array pointers). Wrap everything in class or use standard ones.
Sorry im still learning the concept of pointers and how they are used. I dont see where that the argument Word word_list is a pointer. What can I do to only pass it by reference. Thanks so much for your help btw I really appreciate it
Word word_list is equal to char word_list[MAX+1] which is by rule of array-pointer decay is char* word_list
On the other hand ins takes a Word&, in other words char (&)[MAX+1], it will not take a pointer, nor array of any other size. You need to match your types (either allow to use a pointer in ins or change wrd_list to take reference too)
C arrays and pointers are counter-intuitive and hard to get right.
I changed the wrd_list function to void wrd_list(ifstream& file_in, Word &word_list)
It got another error because of it. When i call that function in the main it doesn't like the second argument wrd_list(file_in, arr); How do I pass this correctly?
It is opening the file. I made a function to check that and i just did a test that printed the text from the file. It did all that fine.
EDIT: I got a step closer. I added the line file_in.get(chr); to the read_input function right before the while loop. It displays everything in the text file besides the last word.