這些代碼工作完美:C++使用函數結果作爲參數
#include <ctime>
int main()
{
time_t t;
struct tm* now;
t = time(0); // Here is my attention
now = localtime(&t); // and here
return 0;
}
現在我想在if語句以此作爲條件,所以我想這樣做在同一行。我試試這個代碼:
now = localtime(&(time(0)));
但我得到的錯誤:
E0158 expression must be an lvalue or a function designator
爲什麼我不能調用一個函數另一個函數內,並使用它作爲結果參數?
P.S.我正在Visual Studio 2017中工作。
您嘗試獲取存儲在堆棧中的值的引用。 – Check
@Check't'在「堆棧」上(有自動存儲時間)。 – LogicStuff
您可以使用函數的結果作爲參數,但'&(time(0))'不是函數的結果,'time(0)'是。 – molbdnilo