source-sdk-2013 icon indicating copy to clipboard operation
source-sdk-2013 copied to clipboard

[FIX/ALL] Ambiguous operator invocation compile-time error

Open Mooshua opened this issue 10 months ago • 0 comments

Description

Original Description

On more recent versions of C++, this line throws an ambiguous operator error since it can't determine if it should be using the CUtlSymbol equality operator or the built-in int equality operator.

This patch removes the ambiguity by explicitly stating that the CUtlSymbol equality operator should be used. This doesn't change the underlying behavior, it just fixes the ambiguous resolution error.

This may also be done in another open PR, I didn't check. Sorry in advance if that's the case :)

On more recent versions of C++, the compiler isn't able to resolve some of the ambiguities left in the original codebase. This PR aims to fix up some of the more glaring ones without actually changing the behavior of the code.

Many of these could probably be better fixed with new operators, but again to avoid changes to the code and just make the darn thing compile, I'm just adding clarity where it's needed.

Patches:

  • Ambiguous Operator Resolution in CUtlSymbolTable::HasElement
  • Ambiguous Symbol Resolution in CUtlSortVector::QuickSort
  • Ambiguous Operator Resolution in CParticleCollection::IsValid

Mooshua avatar Mar 11 '25 19:03 Mooshua