【问题标题】:difference between * function() and function()* function() 和 function() 的区别
【发布时间】:2020-06-23 06:05:15
【问题描述】:

大家, 一件事让我很忙是函数指针 这两个代码有什么区别?

#include<iostream>

class test
{
    private:
        // some data members

    public:
        void *print() **OR** void Print()
        {
            // print something
        }

}

为什么我们有指针函数? 它们有什么区别?

最好的问候

【问题讨论】:

  • void *print() 返回 void 指针 (void * ) 而 void Print() 不返回任何内容
  • 更好地阅读:它是 voidvoid* 而不是 print()*print()。星号属于函数的返回类型。您可以通过编译代码来确认这一点。您应该会收到类似 no return statement in function returning non-void 的警告,带有“asterix-version”。
  • 我确信已经有一个关于这个的问题 - 你在问返回 void 指针和不返回任何东西之间的区别。换句话说,* 属于void,而不是函数Print
  • @Shadow 那是“星号”,Asterix 是高卢战士 ;)

标签: c++ function class pointers


【解决方案1】:

答案是:

当你想要返回一个指针时,你有两种方法可以做到这一点

1: 这样你就不需要 * 来返回你的指针的值了

int* (int* a , int* b)
{
    if(*a < *b)
       return a;
}

2:这种方式你需要使用*来返回你的指针的值

int (int* a , int* b)
    {
        if(*a < *b)
           return *a;
    }

【讨论】:

    猜你喜欢
    • 2019-11-03
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2015-03-08
    • 2012-02-18
    • 2012-10-18
    • 1970-01-01
    相关资源
    最近更新 更多