我嘗試編譯Qt應用程序UINT()函數,但我得到一個錯誤:凡在C++中
error: 'uint' was not declared in this scope
的一段代碼調用它:
double Bi = gsl_ran_binomial_pdf(uint(i),t,uint(N-1));
我意識到這是一個愚蠢的問題,但我無法在任何地方找到它(搜索Qt源代碼和標準庫),並且因爲它的名稱而不可搜索。我懷疑它在Qt框架中有一些輔助函數。
任何人都知道我在哪裏可以找到源代碼?
我嘗試編譯Qt應用程序UINT()函數,但我得到一個錯誤:凡在C++中
error: 'uint' was not declared in this scope
的一段代碼調用它:
double Bi = gsl_ran_binomial_pdf(uint(i),t,uint(N-1));
我意識到這是一個愚蠢的問題,但我無法在任何地方找到它(搜索Qt源代碼和標準庫),並且因爲它的名稱而不可搜索。我懷疑它在Qt框架中有一些輔助函數。
任何人都知道我在哪裏可以找到源代碼?
很可能uint
不是函數,而是unsigned int
類型的typedef(或別名)。某處源會有像
typedef unsigned int uint;
或(C++ 11式)
using uint = unsigned int;
這告訴編譯器,當你鍵入uint
,它應替代的名稱內置型unsigned int
。
現在,當你說uint(i)
,這不是一個函數調用,而是一個函數樣式轉換,其轉換價值的unsigned int
。你也可以說
static_cast<uint>(i)
得到相同的效果。
就是這樣。在Qt源代碼中找到它。 – vitush93
你想投的值: '(unsigned int)i' –
'uint'不是函數。 –
因爲我不能確定uint()是什麼,所以我不想只投這個值。 – vitush93