Ошибка 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);
}

Что не так?


Ответы (0 шт):