All250 Docker toolbox 설치 Docker Quickstart Terminal vm관련 오류 설치 파일 받은 곳 https://github.com/docker/toolbox/releases docker/toolbox The Docker Toolbox. Contribute to docker/toolbox development by creating an account on GitHub. github.com .exe 파일 다운 후 설치 Docker toolbox 설치 후 Docker Quickstart Terminal을 실행하면 계속 버츄얼박스에 관련된 에러가 뜨면서 멈췄다. 구글링하면서 방법을 찾아봤는데 해결되지 않다가 이 방법 후 갑자기 잘 됐다. 먼저 Docker, Virtual box를 모두 삭제 그리고 설치 전에 제어판 - 프로그램 제거 - Windows 기능 켜기/끄기 - Container.. 2019. 11. 29. [C++] LNK2019, LNK1120 클래스 템플릿 사용 시 링크 오류 클래스 구현 도중 틀린 건 없는데 아래 에러가 계속 발생하였다. LNK2019, LNK1120 https://docs.microsoft.com/ko-kr/cpp/error-messages/tool-errors/linker-tools-error-lnk2019?view=vs-2019 결론 먼저 말하면 클래스 템플릿은 헤더와 소스를 분리하면 안되고 그 선언과 구현(정의)을 같은 파일(.h)에 해야 한다. 나는 헤더 파일과 소스 파일을 따로 작성하였는데 main 함수가 있는 소스파일에서 헤더파일만 include 했더니 제대로 참조를 하지 못했다. 그 이유를 살펴보면 우선 우리가 클래스 템플릿가 아닌 일반 클래스의 선언과 구현을 헤더와 소스 파일에 분리하여 작성했다고 생각해 보자. 그리고 main에서 해당 클래스.. 2019. 11. 28. 파일 입출력 다루기. <fstream> std::ifstream, std::ofstream int main() { // 입력 파일 이름과 출력 파일 이름을 설정합니다. const char IN_FILE_NAME[20] = "input.txt"; const char OUT_FILE_NAME[20] = "output.txt"; // ifstream 객체와 ofstream 객체를 생성합니다. std::ifstream infile(IN_FILE_NAME); std::ofstream outfile(OUT_FILE_NAME); // 이름이 OUT_FILE_NAME인 파일이 생성됩니다. // 입력파일에서 1Line씩 read하여 마지막 라인까지 출력파일에 write 합니다. string line; while (std::getline(infile, line)) { // 파일이 존재할 경우 if (infile.. 2019. 11. 27. [OS] 운영체제의 구조와 역할을 간단하게 알아보자 개인적으로 학습하는 내용이라 틀린 내용이 있을 수 있습니다. 참고 도서 [개념 이해를 위한 운영체제] [운영체제란?] 운영체제(Operating System, OS)를 딱 한 문장으로 표현하긴 어렵다. 관점에 따라 다를 수 있으며 기능도 여러 가지이기 때문이다. 일단 운영체제는 일종의 시스템이다. 시스템은 "어떤 주어진 목적을 달성하기 위해 여러 개의 구성 요소들이 유기적으로 결합된 집합체" 를 의미한다. 운영체제의 목적은 두 가지 관점에서 설명할 수 있다. 하나는 사용자의 입장, 하나는 시스템(컴퓨터)의 입장. 사실 우리가 평소에 컴퓨터를 사용하면서 컴퓨터의 입장에서 운영체제를 생각해본 적은 대부분 없을 것이다. 하지만 컴퓨터를 배우기 위해선 컴퓨터의 입장에서 생각해야 한다. 예를 들어 키보드 또는 마.. 2019. 11. 27. [C++] const 키워드 위치에 따른 적용 범위 (포인터 및 멤버 함수) const 키워드는 대상을 상수화한다. 즉 대상이 초기화 이후로 값 수정을 하지 못하도록 만든다. const 키워드는 위치에 따라 적용되는 대상이 다르다. 1. 포인터가 가리키는 대상의 값을 변경 못하게 하려면 다음과 같이 선언한다. const char* c_ptr; - 포인터가 가리키는 대상의 값을 변경할 수 없다. - 하지만 포인터가 가리키는 대상(주소값)을 변경할 수 있다. 2. 포인터가 가리키는 대상(주소)을 변경 못하게 하려면 다음과 같이 선언한다. char* const ptr; - 포인터가 가리키는 대상(주소)을 변경할 수 없다. - 하지만 포인터가 가리키는 대상의 값을 변경할 수 있다. 3. 대상과 대상의 값을 모두 변경하지 못하게 하려면 다음과 같이 선언한다. const char* cons.. 2019. 11. 27. [C++] typename 키워드 | C2760, C7510 typename 키워드 - 템플릿 정의에서 알 수 없는 식별자가 형식(Type)이라는 것을 컴파일러에게 알려줍니다. - 템플릿의 타입 매개변수로 정의된 타입을 사용하는 선언문을 정규화하는데 사용합니다. template void func(const T& obj) { T::size_type _size; } 위 코드는 아래와 같은 컴파일 에러를 발생시킵니다. 예를 들어 string 타입을 인자로 전달할 경우 string::size_type 타입을 사용하려는 의도이지만 T의 타입은 컴파일 과정에서 해당 함수 호출 시점에서 정해지기 때문에 미리 컴파일러에게 T::size_type이 타입이라는 것을 알려주어야 합니다. 따라서 아래와 같이 사용하면 typename 키워드와 함께 사용하면 정상적으로 컴파일이 됩니다. .. 2019. 11. 25. 이전 1 ··· 35 36 37 38 39 40 41 42 다음