Проблема с передачей указателей в windows 10
Я использую Visual Studio 2012 с Windows 10 и испытываю проблемы с передачей указателей из одного класса в другой с помощью C++. У меня есть класс:
CSAMT_Intf {}, который содержит переменные и структуры. Я использую этот класс для создания сегмента общей памяти для сохранения данных. Я использую следующий код для создания указателя на общую память, а затем передаю его другому классу.
тап_п(массив&ЛТ;система::строка ^&ГТ; ^аргументы)
{
m_pSharedMemory = новый CSAMT_Intf;
m_pSharedMemory->CreateMapping();
m_pSockcomm = новый CSAMT_Sock(m_pSharedMemory);
}
Принимающий класс обрабатывает указатель:
CSAMT_Sock::CSAMT_Sock(CSAMT_Intf* pSharedPtr)
{
m_pSharedPtr = pSharedPtr; // определяется как CSAMT_Intf *m_pSharedPtr в заголовочном файле
}
Когда pSharedPtr получен, он содержит все адреса и данные правильно, но когда знак равенства обрабатывается в Windows 7, данные остаются нетронутыми, но в Windows 10 некоторые данные имеют "ошибку:не удается получить значение"
Что я уже пробовал:
Я попытался сделать m_pSharedPtr не указателем, и он действительно компилируется, и адресация в общей памяти выглядит хорошо, но данные не помещаются в общую память правильно.
Member 13218289
Общая память содержит int и указатели, такие как дескрипторы и указатель на структуру. Int распознаются, но все, что является указателем, не работает.