SDL에 체커 게임을 쓰려고합니다. 나는 내 코드를 컴파일 할 때, 나는이 오류 얻을 : 내가 웹에서 무엇을 찾을 수에서삭제 된 함수 (VS2013)를 참조하려고 시도했습니다.
std::basic_ifstream>::basic_ifstream(conststd::basic_ifstream> &)' : attempting to reference a deleted function
을,이 컴파일이, 어떤 이유로 내 생성자를 삭제 유용하게되었음을 의미 지금은 다시 찾을 수 없습니다 . (네가 나에게 묻는다면 나쁜 조직) 왜 이것이 될 수 있니?
Board.h :
#include <fstream>
class Board
{
public:
SDL_Surface * boardSurface;
int boardArray[8][8];
private:
std::ifstream boardFile;
SDL_Surface * blackPiece;
SDL_Surface * whitePiece;
SDL_Surface * darkSquare;
SDL_Surface * lightSquare;
public:
Board(char filename[], SDL_PixelFormat * format);
private:
void loadFile(char filename[]);
void makeSurface();
void debugPrint();
void debugBlit();
};
Board.cpp :
#include <SDL.h>
#include <fstream>
#include <iostream>
#include <stdlib.h>
#include "board.h"
#include "loaders.h"
Board::Board(char filename[], SDL_PixelFormat * format)
{
//inits images
loaders imageLoader;
blackPiece = imageLoader.load_image("images/blackPiece.png", format);
whitePiece = imageLoader.load_image("images/whitePiece.png", format);
darkSquare = imageLoader.load_image("images/darkSquare.png", format);
lightSquare = imageLoader.load_image("images/lightSquare.png", format);
boardSurface = SDL_CreateRGBSurface(0, 780, 480, 8, 0, 0, 0, 0);
loadFile(filename);
debugPrint();
debugBlit();
}
void Board::loadFile(char filename[])
{
boardFile.open(filename);
char currentLine[9] = {};
for (int line = 0; line <= 7; line++)
{
boardFile.getline(currentLine, 9);
for (int square = 0; square <= 7; square++)
{
int currentSquare = (int)currentLine[square] - '0';
boardArray[line][square] = currentSquare;
}
}
}
void Board::makeSurface()
{
}
void Board::debugPrint()
{
for (int line = 0; line <= 7; line++)
{
for (int square = 0; square <= 7; square++)
{
std::cout << boardArray[line][square];
}
std::cout << std::endl;
}
}
void Board::debugBlit()
{
for (int y = 0; y <= 4; y++)
{
if (SDL_BlitSurface(blackPiece, NULL, boardSurface, NULL) != 0)
{
std::cout << SDL_GetError();
}
}
}
다른 모든 오후에 C++ 표준 라이브러리를 구현하지 않는 한 오류는 * 사용자 * 생성자에 대한 것이 아닙니다. 그 메시지에 언급 된 학급을 확인할 수 있습니까? –
"이 진단은 컴파일러에서 생성 된 함수 Board :: Board (const Board &)에서 발생했습니다." 내 보드 클래스입니다. – MadDoctor5813
표시되는 코드에서 오류가 발생합니까? 이 코드를 복사하여 복사 할 수 없습니다. 또는 심지어 작동하지 않습니다. 여기서 loaders.h가 누락되었습니다. 또한, http://sscce.org/을 참조하십시오. – rubenvb