Здравствуйте, я работаю над приложением CLR на C++. После нескольких часов работы я решил, что перемещение классов в разные файлы будет лучше, чем положить все в один файл. Я создал новый файл заголовка и новый файл cpp, но я просто начинающий, поэтому я сделал что-то не так.класс в отдельном файле C++
это мой файл заголовок
#pragma once
class Show {
public:
void Show::show_all(int num, int id_master, int id_slave, int periferia, int data);
};
мой каст файл (только простая функция печати)
#include "Show.h"
#include <stdio.h>
class Show{
private:
void show_all(int num, int id_master, int id_slave, int periferia, int data) {
printf("%d\n", num);
printf("id of mastra is: %d\n", id_master);
printf("id of slave is: %d\n", id_slave);
printf("id of device is: %d\n", periferia);
printf("in data part %d\n", data);
};
};
затем в основном я делаю что-то вроде этого
Show sh;
и затем, когда я попробую назвать свою функцию следующим образом:
sh.vypis_vsetko(num, id_master, id_slave, periferia, data);
, но я получаю много ошибок, которые я не понимаю (все основные функции)
- «зр»: необъявленный идентификатор (всегда, когда я упоминаю его)
- «Show»: необъявленный идентификатор
- слева от '.show_all' должен иметь класс/struct/union
- синтаксическая ошибка: отсутствует ';' перед идентификатором 'sh'
Я потратил много времени, пытаясь решить это, но без какого-либо заключения. Буду очень благодарен за любой совет.
Здесь очень много основных ошибок. Ознакомьтесь с учебным пособием о разделении заголовка и файла реализации. – AndyG
Хорошо, код неправильный, хотя мне любопытно, почему вы хотите изменить модификатор доступа с 'public' на' private'? – George