C++写的DLL的导出函数如何返回string

extern "C" __declspec(dllexport) string GetBill()
{
string b = "Asdfasdf";
return b;
}

这样有问题吗

这个不是dll的问题。是函数声明的问题。
你将函数声明为:

1
2
3
4

bool x(char **a)
{
*a = "123123";
}

调用时,

1
2

char *str = "aaaaa";
x(&str);

原因是:如果将将str作为参数,str在函数执行完了之后,其值是不会改变的(任何参数的值在函数结束后都不会改变),还是"aaaaa"的地址。
温馨提示:答案为网友推荐,仅供参考
相似回答