很抱歉,如果这是一个非常基本的问题。我是一个Java人,也是CPP的新手。按照逻辑,一切看起来都很好。但编译器仍然抛出错误
“结果未在此范围内声明”可能是什么原因?
导致错误的行
ns1__changePinTestResponse* result= soap_new_ns1__ChangePinResponse(this);
这是我的代码。
int ATLServerService::changePinTest(_ns1__changePinTest *ns1__changePinTest, _ns1__changePinTestResponse *ns1__changePinTestResponse)
{
LOG_DEBUG_MSG("ATLServerService::changePassword()");
char* accountID = (char*)ns1__changePinTest->accountID.c_str();
int accountPin = ns1__changePinTest->accountPin;
char* newPassword = (char*)ns1__changePinTest->newPassword.c_str();
char* yourSerialNumber = (char*)ns1__changePinTest->yourSerialNumber.c_str();
tfaddress transactionFileAddress;
int returnValue = 0;
returnValue = Account::changePassword(toteGateway, myGdi,accountID, accountPin,
newPassword, yourSerialNumber, &transactionFileAddress);
ns1__changePinTestResponse* result= soap_new_ns1__ChangePinResponse(this);
result->code = returnValue;
if (returnValue == ESUCCESS) {
result->message = &SUCCESS;
result->transactionFileAddress = transactionFileAddress;
} else {
result->message = &ERROR;
}
ns1__changePinTestResponse->changePinTestReturn= result;
return SOAP_OK;
}
答案 0 :(得分:4)
您缺少第一个下划线。它应该是:
_ns1__changePinTestResponse
不
ns1__changePinTestResponse