2017-09-26 95 views
-1

我尝试编译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框架中有一些辅助函数。

任何人都知道我在哪里可以找到源代码?

+1

你想投的值: '(unsigned int)i' –

+3

'uint'不是函数。 –

+0

因为我不能确定uint()是什么,所以我不想只投这个值。 – vitush93

回答

4

很可能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) 

得到相同的效果。

+0

就是这样。在Qt源代码中找到它。 – vitush93