본문 바로가기

C++

(7)
priority_queue에 struct를 넣을 때는 연산자 오버로딩이 필요하다 연산자 오버로딩이 없으면 위와 같은 에러가 난다. priority를 정해줄 수 없어서 그런 것 같다. `operator
C/C++로 터미널에 명령어 전달하기. C/C++프로그램으로 터미널을 실행해서 명령어를 전달해보자. `system`함수를 이용한다. 코드 예제 #include #include using namespace std; int main() { //명령어 입력 cout command; //str을 char*로 변환 const char *c = command.c_str(); //터미널에 명령어 전달 system(c); return 0; } 실행결과 참고 https://www.quora.com/How-do-I-use-terminal-commands-in-C++ How do I use terminal commands in C++? Answer (1 of 2): system() in C/C++ system() is used to invoke an operat..
[오류] 클래스 템플릿 "std::array"에 대한 인수가 너무 적습니다 클래스 템플릿 "std::array"에 대한 인수가 너무 적습니다 오류 1. 오류 설명과 원인 CLR 프로젝트에서 다른 프로젝트의 클래스를 include하여 쓸 때 종종 나는 오류다. String^>^에 빨간 줄이 쳐지며 인수가 너무 적다고 한다. 원인은 #include한 .h파일에서 using namespace를 쓰고 있기 때문이다. 아래 사진에선 controller가 쓰고있었다. 2. 해결 방법 해결 방법은 두 가지다. 문제있는 .h파일에서 using namespace std를 빼기 void main(array^ args)에서 안의 파라미터를 다 삭제해버리기 → void main()으로 이용 어떤 방법을 써도 잘 돌아간다. namespace std를 많이 해 놨다면 그냥 2번 방법을 쓰자. 잘 돌아가..
[미니 스타듀밸리] 2. GUI 프로젝트 만들고 콘솔과 연동하기 이 포스팅에서 할 일: 1. GUI용 프로젝트 생성 (CLR 빈 프로젝트) 2. CLR프로젝트와 콘솔 빈 프로젝트 연동하기 1. GUI용 프로젝트 생성 > CLR 빈 프로젝트 만들기 clr 빈 프로젝트를 만들어 보자. Windows form 만들게. 솔루션 탐색기- 솔루션 이름 우클릭- 추가- 새 프로젝트 클릭 CLR 빈 프로젝트 선택 - 만들기 > CLR 프로젝트 설정 빈 프로젝트를 만들었다. Window form을 쓰려면 설정을 조금 만져줘야 한다. 솔루션 탐색기 - 프로젝트 이름 우클릭(CLR 프로젝트) - 속성 구성 속성 - 링커 - 시스템 탭으로 이동하여 하위 시스템을 창으로 바꾼다 구성 속성 - 링커 - 고급 탭으로 이동하여 진입점을 수정한다 (예: Main)/ main역할을 할 아무 함수 이..
[미니 스타듀밸리] 1. 프로젝트 생성 & 클래스 다이어그램 그리기 이 포스팅에서 할 일: 1. 프로젝트 생성 2. 클래스 다이어그램 그리기 표시하기 1. 프로젝트 생성 GIT Repository에 새 프로젝트를 생성해 보자. 팀 탐색기 - 우측 하단 솔루션 탭의 새로 만들기 선택 프로젝트 마법사에서 빈 솔루션 선택 새 솔루션 생성 완료. 솔루션 탐색기에서 솔루션 이름 우클릭. 우클릭 메뉴에서 추가 - 새 프로젝트 만들기 - 빈 프로젝트 * 빈 솔루션으로 만드는 이유: 종류가 다른 프로젝트를 한 솔루션에 집어넣을것이기 때문 솔루션 탐색기에 새 빈 프로젝트가 생성된 것을 확인할 수 있다. 앞으로 이 Console이라는 프로젝트에서 게임 조작 & 데이터를 담당할 것이다. 2. 클래스 다이어그램 생성 클래스 다이어그램을 그려보자. 우선 클래스 다이어그램을 프로젝트에 추가한다...
[미니 스타듀밸리] 0. 준비 2019.06.24 기준 수정중 이 포스팅에서 다룰 내용: 0. 만들게 된 이유와 목표 1. 준비물 설치 (Visual studio+ GIT, CLR, 클래스 다이어그램) 0. 만들게 된 이유와 목표 학기 중 팀 프로젝트 과제로 미니 스타듀밸리를 만들었다. 하지만 완성하지 못 했다. GUI도, 코드도, 클래스 설계도, 문서도 하나부터 열까지 성에 안 찬다. 더 잘 만들 수 있었는데 허겁지겁 만들다 보니 부족한 부분이 많다 . 그래서 다시 만든다. 언제까지? 6월 25일부터 7월 8일까지! 약 2주간! Windows Form과 Visual Studio 2019버전을 사용한다. 1. 준비물 소개 > GIT Repository 우선 프로젝트를 저장할 git repository를 새로 만든다. 기존 프로젝트에 ..
error C2143: 구문 오류 : ';'이(가) '*' 앞에 없습니다. 아무리 코드를 봐도 원인을 못 찾던 오류다. 구글링해봤지만 구글링해도 답이 안 나오던 오류 스스로 답을 찾았다. 해결법 1. #paragma once 헤더 선언 시, 여러번 중복되어 include되면 오류가 발생할 수 있다. 맨 첫줄에 #pragma once를 넣어 한 번만 include하도록 고쳐 주자. 해결법 2. 클래스 간 include관계 수정 내 문제는 이거였다. 해결법 1을 써도 안 되던 경우. 클래스 간의 관계를 확인해보자. 아래 코드를 보면 Store클래스와 NPC클래스가 서로 include하고 있다. 바로 이 때문에 오류가 났던 것! Store를 컴파일하려면 NPC가 필요하고, NPC를 컴파일하려면 Store가 필요하고, 그럼 또 Store에서는 NPC가 필요하고.. `Store.h`의 ..