gpt4 book ai didi

c++ - 返回对 DLL 中对象的引用

转载 作者:行者123 更新时间:2023-11-28 02:22:46 25 4
gpt4 key购买 nike

各位程序员大家好。

我遇到了一个奇怪的问题,完全不知道发生了什么。

所以我正在制作一个小型图书馆,其中包含一些基础知识,例如数学和窗口类。

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

class vec2 {
public:
float x, y;

vec2(float x = 0, float y = 0) : x(x), y(y) { }

float FW_API length();
vec2 FW_API normalize();
float FW_API dot(vec2& v);

vec2& FW_API rotate(float angle);
vec2& FW_API translate(float x, float y);
vec2& FW_API translate(vec2& v);

vec2 FW_API operator+(vec2& v);
vec2 FW_API operator-(vec2& v);
vec2 FW_API operator*(vec2& v);
vec2 FW_API operator/(vec2& v);
void FW_API operator+=(vec2& v);
void FW_API operator-=(vec2& v);
void FW_API operator*=(vec2& v);
void FW_API operator/=(vec2& v);

};

FW_API 定义为 __declspec(dllexport)

如果我删除 & 号,它可以毫无问题地编译,但没有它们。

那么在将方法导出到 dll 时甚至可以这样做吗?

最佳答案

解决方案

类 FW_API vec2

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

关于c++ - 返回对 DLL 中对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31794974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com