MyClass doesn't have an explicit default constructor. Say I want to create a pair of MyClasses, e.g. pair<MyClass,MyClass> tmp;, I (understandably) get the message,Code:class MyClass{ public: MyClass(int MyInt,char MyChar){i=MyInt;c=MyChar;} ~MyClass(){}; private: int i; char c; };However, I cannot figure out how to call my constructor – if indeed I can in such a situation. Do I have to create a default constructor and initialise the values later? Or alternatively, create instances of MyClass that I bind together in a pair? e.g.Code:error: no matching function for call to 'MyClass::MyClass()'I guess my real question is: Is there no way of calling a constructor with arguments when using pair?Code:MyClass t1(1,'a'),t2(1,'a'); pair<MyClass,MyClass>tmp(t1,t2);