我尝试编译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