C++ 返回对DLL中对象的引用

C++ 返回对DLL中对象的引用,c++,dll,visual-studio-2015,dllexport,C++,Dll,Visual Studio 2015,Dllexport,各位程序员好 我有个奇怪的问题,完全不知道发生了什么 所以我在建一个小图书馆,里面有一些基本的东西,比如数学和一门窗口课 现在来看问题,在我的vec2类中,我想返回一个对对象的引用,但是我得到了这个编译错误“error C2059:syntax error:'u_declspec(dllexport)'” FW_API定义为\uu declspec(dllexport) 如果我删除了符号,它编译时不会出现问题,但不会使用它们 因此,在将方法导出到dll时,甚至可以这样做吗?解决方案 类FW_AP

各位程序员好

我有个奇怪的问题,完全不知道发生了什么

所以我在建一个小图书馆,里面有一些基本的东西,比如数学和一门窗口课

现在来看问题,在我的vec2类中,我想返回一个对对象的引用,但是我得到了这个编译错误“error C2059:syntax error:'u_declspec(dllexport)'”

FW_API
定义为
\uu declspec(dllexport)

如果我删除了符号,它编译时不会出现问题,但不会使用它们


因此,在将方法导出到dll时,甚至可以这样做吗?

解决方案

类FW_API vec2

将uu declspec(dllexport)放在整个类上,而不是单个方法上。

您的问题是“&”需要放在
declspec的另一侧:

而不是:

vec2& FW_API rotate(float angle);
应该是:

vec2 FW_API & rotate(float angle);

展示您的类,通常导出类,而不是类的单个函数。创建DLL项目以获取示例。顺便说一句:读一本关于C++的好书,读一读有关“const正确性”的章节。“UlrichEckhardt,谢谢你,我把它拿来工作了。”你应该把答案作为自己的答案来打字。
vec2 FW_API & rotate(float angle);