I'm compiling the following program using Microsoft Visual C++, as a C++20 program:
#include <iostream>
#include <tuple>
int main()
{
auto t1 = std::make_tuple("one", "two", "three");
auto t2 = std::make_tuple("one", "two", "three");
std::cout << "(t1 == t2) is " << std::boolalpha << (t1 == t2) << "\n";
std::cout << "(t1 != t2) is " << std::boolalpha << (t1 != t2) << "\n";
return 0;
}
When I run it, I see the following output:
(t1 == t2) is false
(t1 != t2) is true
The tuples are identical, so why does it have wrong comparison results? How do I fix this?
auto
if you don't know what type you are assigning." – Umeh