Ошибка Access violation reading location 0xFFFFFFFF
После возвращения значения типа char выскакивает ошибка...
Код библии:
extern "C"
{
__declspec(dllexport) char firstofstr(std::string str)
{
return str[0]; <-- ошибка
}
}
Код проги:
#include <iostream>
#include <string>
#include <Windows.h>
typedef std::string(*FNPTR)(std::string);
int main()
{
HINSTANCE hinst = LoadLibrary(L"C:\\Users\\Tihon\\source\\repos\\PluginTest\\Debug\\PluginTest.dll");
if (!hinst)
{
std::cout << "\nCannot load plugin.";
return -1;
}
FNPTR fn = (FNPTR)GetProcAddress(hinst, "firstofstr");
if (!fn)
{
std::cout << "\nCannot load function.";
return -1;
}
std::cout << "\nEnter string: ";
std::string str;
getline(std::cin, str);
std::string res = fn(str);
std::cout << "\nDLL Says:" << res;
FreeLibrary(hinst);
}
Что не так?