As는 제목에 다음과 같이 설명합니다. 헤더 파일을 여러 번 포함하기 때문에 재정의 오류가 발생합니다. 나는 그것 때문에 그것을 안다. 그러나 나는 해결할 방법을 모른다. 네, 이전에 한 시간 전에 같은 문제를 게시했습니다. 그러나 나는 제대로 설명 할 수 없었고 (나는 그렇게 생각한다) 예상했던 답변을 얻지 못했다.헤더 파일을 여러 번 포함하는 C++ 재정의
이 :) 가득 되었기 때문에 나는 그 질문을 편집 아니에요 : 여기에 링크입니다.
MAIN.CPP :
#include "Server.h"
#include "Handler.h"
#include "Processor.h"
int main(int argc, char* argv[])
{
}
Server.h :
// Server.h
#pragma once
#include <winsock2.h>
처리기
이 좋아 좀 클래스와 이들의 구조는 다음과 같이있다가 .h :
// Handler.h
#pragma once
#include <string>
#include <vector>
#include "Server.h"
Processor.cpp :
// Processor.cpp
#include "StdAfx.h"
#include "Processor.h"
#include "Handler.h"
Server.cpp :
// Server.cpp
#include "Server.h"
#include "Processor.h"
문제는 있지만 어디 <winsock2.h>
모르는 여러 번 포함되어 있다는 것입니다 . 의 #pragma 번 (이 경우 MSVC2008) 내 컴파일러
#ifndef SOME_FILE_H
#define SOME_FILE_H
// code here
#endif // SOME_FILE_H
과 동일한 기능을 수행한다. 따라서 나는 경비원을 포함한 헤더가 필요 없다는 것을 확신한다. 하지만 내가 실수로하고있는 부분에 <winsock2.>
이 두 번 포함되어 있으며 해결 방법을 찾을 수 있습니까?
감사합니다.
Processor.h는 어디에 있습니까? – Klaim
StdAfx.h에 무엇이 있습니까? –
동일한 질문을 두 번 묻는 것은 중복을 만듭니다. 투표를 종료합니다. –