2014-04-05 4 views
0

지금까지이 클래스의 코드는 작동하지만 아직 컴파일되지 않으며 제목에 언급 된 오류가 발생합니다. 아래는 헤더 파일입니다.오류 : 기본 매개 변수의 재정의 : 매개 변수 3을 재정의하지 않았습니까?

이것은 SDL 표준 라이브러리를 사용하고 있습니다.

내가 통화 당에서이

같은 렌더링 모습의 당신의 정의를 상상

#ifndef TEXTURE2D_H 
#define TEXTURE2D_H 

#include <SDL.h> 
#include <string> 
#include "Commons.h" 

using namespace::std; 

class Texture2D 
{ 
    SDL_Renderer* mRenderer; 
    SDL_Texture* mTexture; 

    int mWidth; 
    int mHeight; 

public: 
    Texture2D(SDL_Renderer* renderer); 
    ~Texture2D(); 

    bool LoadFromFile(string path); 
    void Free(); 
    void Render(Vector2D newPosition, SDL_RendererFlip flip, double angle = 0.0f); 

    int GetWidth() { return mWidth; } 
    int GetHeight() { return mHeight; } 
}; 

#endif 
+0

컴파일러 오류 란 무엇입니까? – lpapp

+0

아마 당신은 멤버 함수 정의에서 그것을 다시 정의 할 것입니다. – juanchopanza

+0

문제의 메서드 정의도 함께 표시하십시오. – lpapp

답변

2

texture2D.h는

void Texture2D::Render(Vector2D newPosition, SDL_RendererFlip flip, double angle = 0.0f) 
    { 
    ... 
    } 

void Texture2D::Render(Vector2D newPosition, SDL_RendererFlip flip, double angle) 
    { 
    ... 
    } 

당신에게 단지해야 할 때 디파 우를 공급하다 값 (보통 .h)

+0

의견에 설명을달라고하십시오. 불명확 한 질문에 대한 추측을 게시하는 것은 가치가 없습니다. – lpapp

+0

스택 오버플로 에티켓에 대해 아직 완전히 알지 못해 죄송합니다. – HarryRose

+0

좋습니다. 하지만 두 개의 함수 * 선언을 게시했습니다. 이것은 다소 혼란 스럽습니다. 또한 클래스 범위가 누락되었습니다. – juanchopanza