我有這樣的代碼 :
#include <future>/span>
#include <iostream>
結構 狀態
{
std::string Available;
std::string Connected;
std::string DisConnected;
};
class Test
{
public:
Test()。
Status &status()
{
return _status;
}
void setStatus(const Status &newStatus)
{
_status = newStatus;
}
std::string show()
{
return Status::Available;
}
private:
狀態 _status ;
};
int main()
{
測驗tst。
auto value= std::async([](std::string str) { return str; } ,tst.show())。
std::cout <<value.get()。
return 0;
}
當我編譯它時,我得到了這個錯誤:
對非靜態成員'Status::Available'的非法參考
我不知道該如何解決這個問題,但它的發生是因為我在std::async中使用了那個函式。我也不知道為什么會發生這種情況。
uj5u.com熱心網友回復:
你需要把它改為_status.Available。 你試圖參考Status結構,而不是該結構的實體。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/314110.html
標籤:

