2
0
Эх сурвалжийг харах

Make sure Variant is not implicitely cast when using operator[]

Co-authored-by: Hein-Pieter van Braam-Stewart <[email protected]>
Gilles Roudière 4 жил өмнө
parent
commit
a825f955ab

+ 4 - 0
core/variant/variant.h

@@ -346,6 +346,10 @@ public:
 	bool is_one() const;
 	bool is_one() const;
 	bool is_null() const;
 	bool is_null() const;
 
 
+	// Make sure Variant is not implicitly cast when accessing it with bracket notation (GH-49469).
+	Variant &operator[](const Variant &p_key) = delete;
+	const Variant &operator[](const Variant &p_key) const = delete;
+
 	operator bool() const;
 	operator bool() const;
 	operator signed int() const;
 	operator signed int() const;
 	operator unsigned int() const; // this is the real one
 	operator unsigned int() const; // this is the real one