안녕하세요 저는 C++에서 CLR 응용 프로그램을 만들고 있습니다. 몇 시간의 작업 후에 나는 같은 파일에 모든 것을 넣는 것보다 다른 파일로 클래스를 옮기는 것이 더 좋은 아이디어라고 결론 내렸다. 새 헤더 파일과 새 cpp 파일을 만들었지 만 초보자 일 뿐이므로 내가 잘못한 경우가 있습니다. 클래스가 별도의 파일에 있음 ++
이
내 헤더 파일 내가이Show sh;
과 같은 것을하고 있어요 주에
#pragma once
class Show {
public:
void Show::show_all(int num, int id_master, int id_slave, int periferia, int data);
};
내 CPP 파일 (단순한 인쇄 기능) 다음
#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);
};
};
입니다 그런 다음, 이처럼 내 기능을 호출하려고하면
선언되지 않은 식별자 (나는 그것을 언급 항상 때)sh.vypis_vsetko(num, id_master, id_slave, periferia, data);
는하지만 난 내가 (주요 기능 모두를) 이해 해달라고 많은 오류
- 'SP'를 얻을
- '.show_all'의 왼쪽에/struct/union 클래스가 있어야합니다.
- 구문 오류 : ';'이 없습니다. 'sh'식별자 앞에
나는 결론을 내리지 않고이 문제를 해결하기 위해 많은 시간을 보냈습니다. 모든 조언에 대해 매우 감사드립니다. 클래스없이 이루어집니다 .cpp
파일에 클래스 메소드를 정의하고, 마지막으로
class Show {
public:
void show_all(int num, int id_master, int id_slave, int periferia, int data);
};
:
여기에는 정말 기본적인 오류가 많이 있습니다. 헤더와 구현 파일을 분리하는 방법에 대한 자습서를 확인하십시오. – AndyG
좋아요, 코드가 정확하지 않습니다. 궁금한데 왜 접근 수정자를'public'에서'private'으로 바꾸고 싶습니까? – George