首页 文章
  • 190 votes
     answers
     views

    使用C void参数“void foo(void)”或不使用“void foo()”更好吗? [重复]

    这个问题在这里已有答案: Is there a difference between foo(void) and foo() in C++ or C? 4个答案 什么是更好的: void foo() 或 void foo(void) ?随着虚空它看起来丑陋和不一致,但我被告知这是好的 . 这是真的? 编辑:我知道一些旧的编译器做了奇怪的事情,但如果我只使用GCC,是 void foo() 好吗...
  • 11 votes
     answers
     views

    将0转为无效

    在我的C(Visual Studio 2008实现)的实现上,我在 <cassert> 中看到以下行 #ifdef NDEBUG #define assert(_Expression) ((void)0) 我不明白需要将0转为void . 在我看来,这 #ifdef NDEBUG #define assert(_Expression) (0) 甚至简单地说 #ifdef ND...
  • 0 votes
     answers
     views

    自编一个void指针指向C程序中的int是否可能?

    我正在编写一个程序来动态生成数组,就像一个清除生锈的实验,仍然是学生并且还没有做过一段时间的C代码:请参阅下面代码中标有“WORKING”注释的块 . Constraint : you have only one void pointer to point to user requested/generated type array(the array can be a float, int, d...
  • 115 votes
     answers
     views

    Java 8 lambda Void参数

    假设我在Java 8中有以下功能接口: interface Action<T, U> { U execute(T t); } 在某些情况下,我需要一个没有参数或返回类型的操作 . 所以我写这样的东西: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; ...
  • 3 votes
     answers
     views

    分配给void委托的lambda会丢弃C#中的非void返回类型吗?

    我可以从一个lambda调用一个非void函数,该lambda被赋值给一个Action(它需要一个void返回类型): static bool foo() { return true; } ... // Action action = foo; // This gives a compile error though. Action action = ()=>foo(); // This c...
  • 2 votes
     answers
     views

    解释使用void指针之间的区别

    我的代码需要将一个数组传递给一个void指针(该struct具有无法修改的(void *)) . 下面的两个版本的代码产生相同的输出,但后者有两个警告 . 我的问题是两种方法中哪一种更受欢迎?有没有办法强制删除警告? 此版本没有警告并按预期生成输出: #include <stdio.h> void test(void *var_arr, char var_1); typedef s...
  • -3 votes
     answers
     views

    无效指针,隔离标识符等

    我不知道如何准确地对这个问题进行分类,所以我只想解释一下: 我正在谷歌搜索一些东西进行任务,我找到了我要找的东西,但在我检查的结果中,我发现了这个问题,我看到了很多我不知道的事情/了解:C++ Lambda capture private class member //... bool dump_dvars() { fstream& refvar{ outp...
  • 0 votes
     answers
     views

    无效指针代替int类型的指针[复制]

    这个问题在这里已有答案: Dereferencing the void pointer in C++ 4个答案 我是C / C的初学者,我正在努力学习指针 . 这是我的代码,用指针数组中的每个元素创建指针数组,指向数据数组中的元素: #include <iostream> using namespace std; //Pointers reference article //ht...
  • 9 votes
     answers
     views

    删除void指针是否保证删除正确的大小? [重复]

    可能重复:删除空指针是否安全? 假设我有一个名为 MyClass 的类的 new 分配,分配就像: MyClass *myClassPtr = new MyClass(); 我将参考文献存储在 void* 列表中 myListOfPointers.add(static_cast<void*>(myClassPtr)); // this has to be void* 后来我释放...
  • -1 votes
     answers
     views

    我的void函数返回一个值,但不返回main函数 .

    我正在编写一个程序,要求飞行员输入坐标 . 然后,稍后在其他函数中使用这些坐标,例如计算平面的距离和角度 这是我的主要功能: int main() { plane_checker(); double angle_finder(int x, int y); double distance_plane(int x, int y, int z); void ils_con...
  • -2 votes
     answers
     views

    如何将char int存储为结构中的相同类型和相同成员?

    我希望在一个结构中有一个类型,它接受一个char和一个int,即Z84 . 我试图解决这个问题,但我没有任何线索 . 会无效吗?或者它与不同类型的冲突是否相同? struct exmaple{ whatType? charValueintValue }; 我在巫婆中搜索类似int的类型,我可以存储Z84 . I do not mean this: struct exmaple{ int...
  • 111 votes
     answers
     views

    如果方法的返回类型为Void,我会返回什么? (不是无效!)

    由于在Java中使用泛型,我最终必须实现一个函数 Void 作为返回类型: public Void doSomething() { //... } 并且编译器要求我返回一些东西 . 现在我只是回来 null ,但我想知道这是不是很好的编码练习...... 我也尝试了 Void.class , void , Void.TYPE , new Void() ,根本没有回报,但所有这些根本不起作...
  • 0 votes
     answers
     views

    c void只有参数类型

    我正在阅读一些教程并制作代码,但遇到了一个简单奇怪的函数方法,一个void函数与 just parameter type 不是实际参数,如:"void foo(int)" . 我知道,如果我创建一个像“ void foo(void) ”的代码,这意味着它绝对不允许我传递参数但不知道如果参数有 just type 'int.' 这甚至不是函数声明,而是函数 definition ...
  • 5 votes
     answers
     views

    C中的void(*)是什么意思吗?

    我正在尝试理解C函数指针语法 . 在我输入的Linux上的Eclipse中: void(*); 它突出显示了带有语法错误消息的语句,但它让我编译它并运行程序 . 然后在Visual Studio上我尝试了它并且它不会编译,说“预期表达式” . 然而,当我这样做时,奇怪的是: std::vector<void(*)> myVector; 它在Visual Studio上编译得很好 ....
  • 2 votes
     answers
     views

    取消引用指向void数组的指针

    我试图更多地了解C及其神秘的隐藏能力,我试图制作一个包含指向void的指针的示例结构,用作数组 . 编辑:重要说明:这是原始C代码 . 假设我有这个结构 . typedef struct mystruct { unsigned char foo; unsigned int max; enum data_t type; void* da...
  • 4 votes
     answers
     views

    打印void指针的值

    我有一个返回void指针的函数 . 让我们说我知道指向的数据块是一个int数组 . 我该如何打印? 从另一个线程我看到我以这种方式将void转换为我想要的数据类型: printf("%i",*((int*)data)); 但就像我说的那样,数据是一组整数 . 我试图这样做,但它不是一个有效的表达式: for(i = 0; i<3; i++){ printf(&q...
  • 3 votes
     answers
     views

    C无效指针

    我在想,为什么不能有一个不是指针的void数据类型? 当然,你可以通过拥有可以超越整个确定尺寸的东西 void4 void8 void32 然后只允许将一个void数据类型“强制转换”为另一个类,如果它的大小等于或小于类的大小 . 有什么东西我不知道,或者C委员会只是认为这是不好的做法? 编辑: 我没有很好地解释自己,所以我将举例说明它的用法: main() { /* Le...
  • 1 votes
     answers
     views

    空指针的目的

    平台:Linux 3.2.0 x86(Debian Wheezy) 编译器:GCC 4.7.2(Debian 4.7.2-5) 我在string.h中编写了一些类似于memset(),memcpy()等的函数 . 我使用void指针来避免使函数类型具体 . 但是当我使用char指针取消引用void指针时,我不知道为什么我要求一个void指针 . 在我看来,void指针不做任何事情 . ...
  • 2 votes
     answers
     views

    C:两个void指针的区别是什么类型?

    如果我减去两个void指针,我得到指针位置之间的相对距离(至少在我的测试系统上) . 我应该使用什么类型来存储结果,以便它与64位系统兼容? size_t是正确的类型还是长? 背景:我们需要检查给定的void指针是否可以安全地用作双指针 . 我们曾经将指针强制转换为int并检查低三位是否为零,但是我们当前的编码标准不再允许将指针转换为整数类型 . 我正在考虑计算void指针和NULL指针之间的差异...
  • 8 votes
     answers
     views

    虚函数并转换为void和back

    目前我正在使用传统的c代码库 . 在此代码库中,指向对象的指针将转换为void-pointers,然后存储在c-library中 . 请考虑以下代码: class interface { public: virtual void foo() { std::cout << "Interface" << std::endl;} virtual...
  • -6 votes
     answers
     views

    打字稿或角度语法methondName():void {}是什么意思? (代码内)

    来自Angular Tour of Heroes教程:https://angular.io/tutorial/toh-pt4 代码 : getHeroes(): void { this.heroes = this.heroService.getHeroes(); } 声明方法的这种语法是什么意思?
  • -1 votes
     answers
     views

    从'void*'到'void (*)(..)'的转换无效

    我有错误 从'void *'到'void()的无效转换(void,u_int8_t *,u_int8_t *,u_int16_t,void *){aka void()(void,unsigned char *,unsigned char *,short unsigned int,void *) ''[-fpermissive] void m_callback_friendrequest(Mes...
  • 10 votes
     answers
     views

    无效指针作为C中的模板参数

    以下内容无法编译: template<void *p> class X { // ... }; int r; int main() { X<&r> x; return 0; } 错误消息是 x.cc:10:6:错误:无法将模板参数'&r'转换为'void *' 显式地转换&r到(void *)也无济于事 . 错误消息变为: x.cc:1...
  • 15 votes
     answers
     views

    Void返回类型在Kotlin中意味着什么

    我尝试在Kotlin中创建函数而不返回值 . 我编写了一个类似于Java的函数,但使用了Kotlin语法 fun hello(name: String): Void { println("Hello $name"); } 我有一个错误 错误:具有块体('')的函数中需要'返回'表达式 经过几次修改后,我得到了具有可空Void作为返回类型的工作函数 . 但这并不是我...
  • -1 votes
     answers
     views

    void *赋值给void **

    需要实现一个具有一些参数的api;它具有输入的类型(const void *),输出的类型(void **); api想要为输出分配一些偏移量的输入;例如, void getOffset(const void* a, void** b) { int offset = getsomeoffset(); *b = a + offset; } 这会在编译器中引起一些抱怨 . 编写此代...
  • 10 votes
     answers
     views

    int main()和void main()如何工作[复制]

    这个问题在这里已有答案: What should main() return in C and C++? 18个答案 我是C语言的初学者 . 任何人都可以使用示例详细解释main(),int main(),void main(),main(void),void main(void),int main(void)如何在C语言中工作?正如在我们使用void main()时发生的事情以及当我在简单语...
  • 0 votes
     answers
     views

    首次运行javascript:void(0)后替换链接

    以下代码通常包含在if语句中以检查浏览器是否在移动设备上,如果是,那么当您单击主菜单链接时它会停止href,隐藏当前导航栏链接,然后添加一个新链接 . 这允许下拉菜单保持不变,您可以再次单击主菜单链接以使href工作 . 问题是你只能这样做一次 . 在第一次单击并运行javascript:void(0)并更新链接后,我无法阻止href转到其原始位置 . 我需要javascript:void(0)在...

热门问题