C++ 其中是C+中的uint()函数+;
我正在尝试编译Qt应用程序,但出现错误:C++ 其中是C+中的uint()函数+;,c++,qt,C++,Qt,我正在尝试编译Qt应用程序,但出现错误: 错误:未在此范围内声明“uint” 这段代码称之为: double Bi=gsl_ran_二项式pdf(uint(i),t,uint(N-1)); 我意识到这是一个愚蠢的问题,但我在任何地方都找不到它(搜索了Qt源代码和标准库),而且由于它的名称,它是不可谷歌搜索的。我怀疑这是Qt框架中的一个辅助函数 有人知道我在哪里可以找到源代码吗?很可能uint不是函数,而是类型unsigned int的typedef(或别名)。在源代码的某个地方会有一行 typ
错误:未在此范围内声明“uint”
这段代码称之为:
double Bi=gsl_ran_二项式pdf(uint(i),t,uint(N-1));
我意识到这是一个愚蠢的问题,但我在任何地方都找不到它(搜索了Qt源代码和标准库),而且由于它的名称,它是不可谷歌搜索的。我怀疑这是Qt框架中的一个辅助函数
有人知道我在哪里可以找到源代码吗?很可能
uint
不是函数,而是类型unsigned int
的typedef(或别名)。在源代码的某个地方会有一行
typedef unsigned int uint;
或(C++11样式)
这告诉编译器,当您键入uint
时,它应该替换内置类型unsigned int
的名称
现在,当您说uint(i)
时,它不是一个函数调用,而是一个函数样式转换,它将值转换为无符号int
。你也可以这样说
static_cast<uint>(i)
static\u cast(一)
为了获得同样的效果。您想要强制转换值:
(unsigned int)i
uint
不是一个函数。因为我不能确定uint()的作用,我不想只强制转换值。。作者忘记了#include
谢谢,我会研究qtlobal
这就是它。在Qt源代码中找到它。
static_cast<uint>(i)