MFC로 UI를 만들다가
내가 만든 클래스로 std::vector 를 이용하려던 중
c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory(48): error C2558: class 'CFrameSet' : 복사 생성자를 사용할 수 없거나 복사 생성자가 'explicit'으로 선언되었습니다.
이런 에러가 뜬다. 여기서 'CFrameSet'은 내가 만든 클래스의 이름이다.
vector를 쓰기 위해 복사생성자를 만들어두긴 했는데 깜빡 잊고 파라미터에 const를 빼먹은 것이 문제였다.
FrameSet.h
#pragma once class CFrameSet { public: CFrameSet(void); CFrameSet(const CFrameSet& dup); ~CFrameSet(void); ... public: void operator =(const CFrameSet& dup); };
FrameSet.cpp
#include "StdAfx.h" #include "FrameSet.h" CFrameSet::CFrameSet(void) : ... { ... } CFrameSet::CFrameSet(const CFrameSet& dup) { *this = dup; } CFrameSet::~CFrameSet(void) { ... } void CFrameSet::operator =(const CFrameSet& dup) { ... }
'Development > Failure Log' 카테고리의 다른 글
"\ndk-build.cmd": Launching failed (0) | 2013.01.01 |
---|---|
openCV webcam 다중 연결 (0) | 2012.12.21 |
java.io.IOException: 현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다 (1) | 2012.09.24 |
The type HttpServer is not accessible due to restriction on required library... (2) | 2012.09.21 |
Not a valid class name (0) | 2012.09.15 |