IDebugHostTypeSignature::CompareAgainst 메서드(dbgmodel.h)

CompareAgainst 메서드는 형식 서명을 다른 형식 서명과 비교하고 두 서명이 비교되는 방식을 반환합니다. 반환되는 비교 결과는 다음과 같이 정의된 SignatureComparison 열거형의 멤버입니다.

관련 없음 - 비교되는 두 서명 또는 형식 간에는 관계가 없습니다.

모호한 - 하나의 서명 또는 형식이 다른 서명과 모호하게 비교됩니다. 두 형식 서명의 경우 두 서명 중 하나를 똑같이 일치시킬 수 있는 잠재적인 형식 인스턴스가 있음을 의미합니다. 예를 들어 아래에 표시된 두 형식 서명은 모호합니다.

서명 1:

std::pair<*, int> 

서명 2:

std::pair<int, *>

형식 인스턴스 std::p air<int이기 때문에 int> 하나와 동일하게 일치합니다(둘 다 하나의 콘크리트와 하나의 와일드카드 일치가 있습니다).

LessSpecific - 하나의 서명 또는 형식이 다른 서명보다 덜 구체적입니다. 이는 덜 구체적인 시그니처에 구체적인 형식이 있는 와일드카드가 있는 경우가 많습니다. 예를 들어 아래의 첫 번째 서명은 두 번째 서명보다 덜 구체적입니다.

서명 1:

std::pair<*, int> 

서명 2:

std::pair<int, int> 

와일드카드(the *)가 있기 때문에 두 번째 와일드카드에는 구체적인 형식(int)이 있습니다.

MoreSpecific - 하나의 서명 또는 형식이 다른 서명보다 더 구체적입니다. 이는 더 구체적인 시그니처에 덜 구체적인 형식이 있는 구체적인 형식이 있다는 것을 의미합니다. 예를 들어 아래의 첫 번째 서명은 두 번째 서명보다 더 구체적입니다.

서명 1:

std::pair<int, int> 

서명 2:

std::pair<*, int> 

두 번째 형식에는 와일드카드()가 있는 구체적인 형식(int)이 있기 때문 *입니다.

동일 - 두 서명 또는 형식이 동일합니다.

구문

HRESULT CompareAgainst(
  IDebugHostTypeSignature *typeSignature,
  SignatureComparison     *result
);

매개 변수

typeSignature

비교할 형식 서명입니다.

result

두 서명 간의 관계에 대한 표시가 여기에 반환됩니다. 관련이 없거나 동일하든, 하나는 다른 서명보다 더 구체적이거나 덜 구체적이거나 모호합니다. 이러한 관계는 SignatureComparison 열거형의 멤버에 의해 제공됩니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

설명

예제 코드

ComPtr<IDebugHostTypeSignature> spSig1; /* get a type signature */
ComPtr<IDebugHostTypeSignature> spSig2; /* get a second type signature */

SignatureComparison compResult;
if (SUCCEEDED(spSig1->ComapreAgainst(spSig2.Get(), &compResult)))
{
    // compResult indicates how the two signatures are related (if at all)
    //     std::pair<int, *> and std::pair<*, int> would be related ambiguously
    //     std::pair<int, *> would be more specific than std::pair<*, *>
    //     std::pair<int, int> and std::pair<float, float> would be unrelated
}

요구 사항

   
헤더 dbgmodel.h

참고 항목

IDebugHostTypeSignature 인터페이스