gpt4 book ai didi

c++ - dev c++ 不编译 std::function 和 __declspec(property

转载 作者:行者123 更新时间:2023-11-27 23:15:29 25 4
gpt4 key购买 nike

为什么不 std::function<int(int)> functionName__declspec(property(get = getNumber, put = putNumber)) int number在开发 C++ 上工作?

我复制了无数示例代码,它们都返回错误..

编辑:

class Class {
private:
int _number;

int getNumber() {
return _number;
}

void putNumber(int number) {
_number = number;
}

public:
__declspec(property(get = getNumber, put = putNumber)) int number;
std::function<int(int)> functionName;
};

如果我只包括这个类,它会给我一个错误..

最佳答案

问题

  • std::function是 C++11 的新功能,您的 Dev-C++ 旁边的编译器版本似乎已过时。

  • __declspec(property(...))Microsoft 特定关键字,仅对 MSVC++ 编译器有意义。

解决方案

更新编译器以支持 std::function。删除 __declspec(property(...)) 并将 public 放在 int getNumber() 之前:

class Class {
private:
int _number;

public:
int getNumber() {
return _number;
}

void putNumber(int number) {
_number = number;
}

std::function<int(int)> functionName;
};

关于c++ - dev c++ 不编译 std::function 和 __declspec(property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616304/

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