안녕하세요 C++질문드려요

zeros48의 이미지

안녕하세요 C만 하다가 C++이제 넘어왔는데요
비트코인 오픈 소스 보는 중인데
왜 에러가 나나 해서요 초보적인 질문일수도 있겟네요;

#include
using namespace std;

class CBlockHeader
{
public:
string hash;
string hashPrevBlock;
int Nonce;

CBlockHeader()
{
SetNull();
}

void SetNull()
{
hashPrevBlock.SetNull(); // 에러부분
Nonce = 0;
}
};

생성자에서 SetNull();을 정의했으니 밑에서 사용할수 있지 않나요?

익명 사용자의 이미지

Quote:
생성자에서 SetNull();을 정의했으니

> 안 하셨는데요. "정의"가 어떤 의미인지 헷갈리고 계시는 것 아니신지요.

Quote:
밑에서 사용할수 있지 않나요?

> 뭘 사용해요?

코드의 일부분이 날라가서 뭐가 뭔지 알기 어렵습니다만, hashPrevBlock가 위에서 선언한 string 타입 멤버 변수이고 string이 std::string을 가리키는 것이라면, std::string에 SetNull같은 사용자 정의 멤버 함수를 끼워넣을 방법은 없습니다. string header를 직접 고치는 이상한 방법을 동원하는 게 아니라면요. (절대 권장하지 않습니다.)

zeros48의 이미지

오픈소스 보는중이라 헤매고 있네요;
답변 감사드립니다~