Я получаю Assertion failed
сообщение об ошибке Expression: invalid null pointer
, которое указывает на c:\program files\microsoft visual studio 10.0\vc\include\xstring line:930
.
Вот мой код:
void main(void)
{
// fillMap() fills map with data from txtfile and returns map<char,int>
map<char, int> myMap = fillMap("file.txt"); // <- takes a string
MyClass *myObject;
// Code reaches here fine
myObject= new MyClass(myMap); // this line causes the error
// Does not get to here
}
В строке, которая вызывает ошибки, я могу оставить конструктор () пустым и просто сказать ptr = new MyClass();
и все равно получить ту же ошибку. Я думаю, это как-то связано с моим конструктором.
В MyClass определение конструктора - MyClass(char=' ', int=0)
. Если я не даю им значения, я получаю ошибку No default constructor
.
Итак, кто-то может сказать мне, как я могу отследить эту ошибку в Visual Studio 2010, или предоставить возможное решение, почему я получаю эти проблемы?
PS, это не позволит мне создавать новые объекты, которые не являются указателями, Error: No operator "=" matches these operands
.
Спасибо за любую помощь.
РЕДАКТИРОВАТЬ: Если это поможет, вот строка 930 из xstring:
_Myt& assign(const _Elem *_Ptr)
{ // assign [_Ptr, <null>)
_DEBUG_POINTER(_Ptr); //930
return (assign(_Ptr, _Traits::length(_Ptr)));
}