Как мне установить условную точку останова в Visual Studio 2019 (Enterprise или Community Edition), которая оценивается с использованием перегруженного operator[]
? Прилагаю минимальный нерабочий пример.
#include <memory>
struct Point3D
{
private:
int* _Coordinates = (int*)malloc(3 * sizeof(int));
public:
int& operator[](int index)
{
return _Coordinates[index];
}
};
int main()
{
Point3D point;
point[0] = 3;
point[1] = 4;
point[2] = 5;
auto const coordOne = point[1];
auto const isFour = point[1] == 4;
point[1] = 0; // line #25, set conditional breakpoint here
// Conditional breakpoints in line 25 using 'Conditional Expression' is 'true' with:
// isFour == true // works
// coordOne == 4 // works
// point[1] == 4 // Error: no operator '[]' matches these operands
}