смогу ли я привести итератор, который указывает на элемент набора к LONG_PTR?
PS: я не до конца понимаю, что такое LONG_PTR?
Вот пример кодакоторый выдает ошибку во время выполнения
#include <windows.h>
#include <set>
#include <string>
using namespace std;
void func(LPARAM lp)
{
set<string>::iterator *it = reinterpret_cast<set<string>::iterator*>(lp);
string s = *(*it); //runtime-error
}
int main()
{
char *arr[] = {"0", "1", "2", "3", "4", "5"};
set<string> s(arr, arr+5);
set<string>::iterator it = s.begin()++;
LONG_PTR lp = reinterpret_cast<LONG_PTR>(&*it);
func(lp);
}