给定原型: unsigned int NI488CC ibwrt (int ud,const void * buf,size_t cnt);
函数调用中的"6L“是什么: ibwrt(Dev,"*IDN?\n",6L);
我是不是忘记了一些非常基本的C语言的东西?
发布于 2016-09-09 02:54:25
L代表'long‘字面值。请参阅integer-literal
integer-suffix(如果提供)可能包含以下一项或两项(如果两项都提供,则它们可能以任意顺序出现:
发布于 2016-09-10 11:25:52
std::size_t是sizeof运算符结果的无符号整数类型。
尽管保证该类型是无符号的,但它仍然是由实现定义的。
对于long,使用l或L是一个整型文字。
例如。在以下代码中:
auto x = 6L;
auto y = 6;x将是long类型,而y将是y类型。
不需要在传递std::size_t时使用L。
由于整体提升和竞争函数重载的可能性,传递6L是多余的。
https://stackoverflow.com/questions/39398223
复制相似问题