#include <iostream>
using namespace std;
void Func( int a, std:: string b)
{
std:: cout << a;
std:: cout << b;
}
int main( ) {
Func( 33 , "test" ) ; // работает
std:: pair < int ,std:: string > myPair ( 33 , "test" ) ;
Func( myPair) ; // не компилируется
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBGdW5jKGludCBhLCBzdGQ6OnN0cmluZyBiKQp7CglzdGQ6OmNvdXQgPDwgYTsKCXN0ZDo6Y291dCA8PCBiOwp9CgppbnQgbWFpbigpIHsKCUZ1bmMoMzMsICJ0ZXN0Iik7CS8vINGA0LDQsdC+0YLQsNC10YIKCQoJc3RkOjpwYWlyIDxpbnQsc3RkOjpzdHJpbmc+IG15UGFpciAoMzMsICJ0ZXN0Iik7CglGdW5jKG15UGFpcik7CQkvLyDQvdC1INC60L7QvNC/0LjQu9C40YDRg9C10YLRgdGPCgkKCXJldHVybiAwOwp9
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:14:13: error: cannot convert ‘std::pair<int, std::__cxx11::basic_string<char> >’ to ‘int’ for argument ‘1’ to ‘void Func(int, std::__cxx11::string)’
Func(myPair);
^
stdout