예 .H 작업 약간의 문제가 오전
:
class IC_Utility {
public:
IC_Utility();
~IC_Utility();
std::string CP_PStringToString(const unsigned char *outString);
void CP_StringToPString(std::string& inString, unsigned char *outString, short inMaxLength);
static void CP_StringToPString(std::string& inString, unsigned char *outString);
void CP_StringToPString(FxString& inString, FxUChar *outString);
};
예 .CPP는 :
static void IC_Utility::CP_StringToPString(std::string& inString, unsigned char *outString)
{
short length = inString.length();
if(outString != NULL)
{
if(length >= 1)
CPLAT::CP_Utility::CP_CopyMemory(inString.c_str(), &outString[ 1 ], length);
outString[ 0 ] = length;
}
}
난을 만들고 싶었다 전화 번호 :
IC_Utility::CP_StringToPString(directoryNameString, directoryName);
오류가 발생합니다 :
error: cannot declare member function 'static void IC_Utility::CP_StringToPString(std::string&, unsigned char*)' to have static linkage
나는 이것을 할 수없는 이유를 이해하지 못합니다. 누가 내가 원하는 것을 성취 할 수있는 이유와 방법을 이해하도록 도와 줄 수 있습니까?
우선, .cpp 파일에서'static' 키워드를 제거해야합니다. C++은 그것을 허용하지 않습니다. – Fezvez
오류는 무엇입니까? –
@Fezvez : 다른 방법으로는'/ * static * /'으로 바꾸십시오. .h 및 .cpp 파일에 동일한 수정 자 및 기본 인수가있는 것이 좋습니다. –