2
考慮下面的代碼片段:「無效純說明符」當我的意思是沒有純粹說明符?
class UltraProbe {
public:
ConnectProbe *CP() {
return probes.CP; // if type == UP_CONNECT
}
private:
probespec mypspec; /* Filled in by the appropriate set* function */
union {
IPExtraProbeData IP;
ConnectProbe *CP;
// ArpProbe *AP;
} probes;
};
bool do_one_select_round(UltraScanInfo *USI, struct timeval *stime) {
UltraProbe *probe = NULL;
int errno = (probe->CP()->connect_result);
}
爲什麼我會得到下面的錯誤?
scan_engine_connect.cc:592:22: error: invalid pure specifier (only ‘= 0’ is allowed) before ‘probe’
int errno = (probe->CP()->connect_result);
^
...解決方案正在_to不重用現有的庫名!!!! _ –
嗯,我還沒有看到一個glibc實現,其中'errno'擴展爲函數調用。它應該是一個左值整數表達式。一些手冊頁實際上稱之爲變量。 –
@LightnessRacesinOrbit我不記得在哪裏(可能在某個模糊的嵌入式平臺上),但是我已經看到'#define'd爲'(* __ errno_pointer())'。 –