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?
 
     
     
     
     
     
    