2012-04-23 1 views
2

다음 두 클래스로 라이브러리를 작성했습니다. Visual Studio에는 첫 번째 클래스에는 문제가 없지만 두 번째 클래스에는 오류가 없습니다. 나는 이유를 모른다. 이견있는 사람?은 dll, vs2010, C++에서 클래스를 내보낼 수 없습니다.

퍼스트 클래스 :

class __declspec(dllexport) C_RGBImage: public C_Matrix<S_RGB> 
{ 
public: 
    C_RGBImage(S_Size<long> &A_rSize = S_Size<long>(0, 0)): C_Matrix(A_rSize){} 

    bool SaveBMP(std::wstring A_rFileName); 
    bool LoadBMP(std::wstring A_rFileName); 

    bool SaveJPEG(std::wstring A_rFileName, int A_iQuality = 85); 
    bool LoadJPEG(std::wstring A_rFileName); 
}; 

두 번째 클래스 :

class __declspec(dllexport) C_RGBAImage: public C_Matrix<S_RGBA> 
{ 
public: 
    C_RGBAImage(S_Size<long> &A_rSize = S_Size<long>()): C_Matrix(A_rSize){} 

    bool SaveBMP(std::wstring &A_rFileName); 
    bool LoadBMP(std::wstring &A_rFileName); 

    bool LoadBMPFromResource(HINSTANCE A_hInstance, long A_lBitmapID); 
}; 
+0

건물을 만들 때 오류가 있습니까? 두 번째 수업을 내보낼 수 없다는 말의 의미는 무엇입니까? – Ove

+0

아니, 모든게 다름 – Ingener74

+0

차이점은 다음과 같다 : 1) 초에 S_Size를 초기화하지 않고 2) 참조로 문자열을 전달하고있다 (const 참조를 의미 했습니까?), 3) 마지막으로 S_Size를 변경했습니다. 두 가지 방법이 관련성이 없어야합니다. 그 맞습니까? 내보내기에서 가져 오는 오류 메시지 또는보고있는 잘못된 내보내기 테이블을 볼 수 있습니까? – Rup

답변

0

난 당신이 다른 매개 변수를 사용하여 LoadBMPFromResource를 부르는 것 같아요.

관련 문제