왜 이런 일이 발생하는지 잘 모르겠습니다 만, "이 범위에서 선언되지 않았습니다."라는 오류가 발생했습니다. 내 Windows 컴퓨터 (MSVC 컴파일러)에서 작동하기 때문에 이것을 말하지만 Mac (GCC)에서는 작동하지 않습니다. 나는 이것을 작성하기 위해 Qt Creator를 사용하고있다. 여기 내 상황 :Friendly Function으로이 범위에서 선언되지 않았습니다.
그것은 내 pushButtonClicked에 오류가 발생합니다 ...
void NewGpdDialog::on_pushButton_clicked()
{
*xdbf = XDBFcreate(filePath.toStdString(), Achievement, ba.data(), ba.size(), &str);
}
가 발생 정확한 오류는 다음과 같습니다
.../newgpddialog.cpp:63: error: 'XDBFcreate' was not declared in this scope
난에 있기 때문에, 그것은 decalared 거의 긍정적이다 내 파일의 맨 위에는 다음이 포함됩니다.
"xdbf.h"는 선언 된 곳입니다. 여기 내 XDBF hea의 일부입니다 데르 파일 :
class XDBF
{
public:
XDBF(string path);
~XDBF();
...
static std::string FILETIME_to_string(FILETIME *pft);
friend XDBF* XDBFcreate(string filePath, GPD_Type type, char *imageData = NULL, size_t imageDataLen = 0, wstring *gameName = NULL);
지금 내 "xdbf.cpp"이 같은 파일에 있습니다 또한
XDBF* XDBFcreate(string filePath, GPD_Type type, char *imageData, size_t imageDataLen, wstring *gameName)
{
...
}
, 그리고 재미있는 것은 내가 바로 헤더를 클릭하고 클릭 할 경우이다 "Symbol Under Cursor"를 찾으면 찾을 수 없습니다 ... 또 다른 것은 Windows 컴퓨터에서 작동한다는 것입니다.
의 선언 앞에
XDBFcreate
의 이름 공간 범위 선언을 추가 수정하려면'XDBFcreate'는 정적 방법이 될 것 같지 않습니다. – BeMFi