Ваш main.cpp оценивается как: (Предполагая, что STRUCT_HEADER не #defined до STRUCT_HEADER.h и что вы только что ошиблись в написании своего STRUCTHEADER.h в этом вопросе)
struct user {
int arr[10];
};
int main(){
user users[10];
test1(users);
С #includeвставляет только то содержимое файла, которое вы поместили перед ним, в строку, на которой оно написано.Он не увидит ваше определение test1.
Вы должны попробовать:
#include "fkingatm.h"
#include "STRUCTHEADER.h"
int main(){
user users[10];
fkingatm f;
f.test1(users);
return 0;
}
Теперь, это решает 2-ю и 3-ю ошибки, которые у вас были.Для 1-й ошибки вам необходимо отредактировать объявление вашего void
void test1(user);
в
void test1(user[10]);
edit: это потому, что вы используете свой test1 (пользователь user [10]) как тот, который принимает пользователя [10], а не пользователя.И пользователь [10] имеет другой тип и данные сам по себе.Различные данные в том смысле, что user [10] на самом деле является указателем (число, представляющее адрес памяти), а user является классом / структурой (которая является только пространством имен и в действительности не имеет точного физического представления в памяти).