declare as function pointer and initialize in the same line The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What is a smart pointer and when should I use one?Returning unique_ptr from functionsWhy is reading lines from stdin much slower in C++ than Python?Image Processing: Algorithm Improvement for 'Coca-Cola Can' RecognitionWhy should I use a pointer rather than the object itself?Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviationsFunction pointer, which can point to every thing?Has a std::byte pointer the same aliasing implications as char*?declare and define function pointer variable in one line

What is the difference between "behavior" and "behaviour"?

Anatomically Correct Strange Women In Ponds Distributing Swords

Horror movie/show or scene where a horse creature opens its mouth really wide and devours a man in a stables

Is a stroke of luck acceptable after a series of unfavorable events?

What is the point of a new vote on May's deal when the indicative votes suggest she will not win?

Why use "finir par" instead of "finir de" before an infinitive?

Should I tutor a student who I know has cheated on their homework?

How to Reset Passwords on Multiple Websites Easily?

Can a caster that cast Polymorph on themselves stop concentrating at any point even if their Int is low?

Opposite of a diet

MAZDA 3 2006 (UK) - poor acceleration then takes off at 3250 revs

How can I open an app using Terminal?

ls Ordering[Ordering[list]] optimal?

How do scammers retract money, while you can’t?

What's the point of interval inversion?

Why didn't Khan get resurrected in the Genesis Explosion?

How do I go from 300 unfinished/half written blog posts, to published posts?

Under what conditions does the function C = f(A,B) satisfy H(C|A) = H(B)?

Fastest way to shutdown Ubuntu Mate 18.10

In place solution to remove duplicates from a sorted list

Describing a person. What needs to be mentioned?

'Given that' in a matrix

Can the Reverse Gravity spell affect the Meteor Swarm spell?

% symbol leads to superlong (forever?) compilations



declare as function pointer and initialize in the same line



The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What is a smart pointer and when should I use one?Returning unique_ptr from functionsWhy is reading lines from stdin much slower in C++ than Python?Image Processing: Algorithm Improvement for 'Coca-Cola Can' RecognitionWhy should I use a pointer rather than the object itself?Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviationsFunction pointer, which can point to every thing?Has a std::byte pointer the same aliasing implications as char*?declare and define function pointer variable in one line










6















In C++ how do we do the following



// fundamental language construct 
type name = value;

// for example
int x = y;


with function pointers?



 typedef (char)(*FP)(unsigned);

// AFAIK not possible in C++
FP x = y ;


I can use lambdas



 FP x = []( unsigned k) -> char return char(k); 


But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:



void whatever () 
typedef void (*FP) (void);
FP x = whatever ;


The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.










share|improve this question









New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 3





    You could always stick with auto x = &the_function;'.

    – François Andrieux
    4 hours ago











  • The name of a function pointer variable appears between the return type and the arguments It won't look like type name = value;.

    – François Andrieux
    4 hours ago












  • You're missing the & before whatever. FP x = &whatever ;

    – dave
    4 hours ago











  • @dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the (char), which should be char in your typedef)

    – andreee
    4 hours ago
















6















In C++ how do we do the following



// fundamental language construct 
type name = value;

// for example
int x = y;


with function pointers?



 typedef (char)(*FP)(unsigned);

// AFAIK not possible in C++
FP x = y ;


I can use lambdas



 FP x = []( unsigned k) -> char return char(k); 


But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:



void whatever () 
typedef void (*FP) (void);
FP x = whatever ;


The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.










share|improve this question









New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 3





    You could always stick with auto x = &the_function;'.

    – François Andrieux
    4 hours ago











  • The name of a function pointer variable appears between the return type and the arguments It won't look like type name = value;.

    – François Andrieux
    4 hours ago












  • You're missing the & before whatever. FP x = &whatever ;

    – dave
    4 hours ago











  • @dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the (char), which should be char in your typedef)

    – andreee
    4 hours ago














6












6








6








In C++ how do we do the following



// fundamental language construct 
type name = value;

// for example
int x = y;


with function pointers?



 typedef (char)(*FP)(unsigned);

// AFAIK not possible in C++
FP x = y ;


I can use lambdas



 FP x = []( unsigned k) -> char return char(k); 


But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:



void whatever () 
typedef void (*FP) (void);
FP x = whatever ;


The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.










share|improve this question









New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












In C++ how do we do the following



// fundamental language construct 
type name = value;

// for example
int x = y;


with function pointers?



 typedef (char)(*FP)(unsigned);

// AFAIK not possible in C++
FP x = y ;


I can use lambdas



 FP x = []( unsigned k) -> char return char(k); 


But I do not know how to do this without lambda. Any ideas? This is not an answer. we know this works:



void whatever () 
typedef void (*FP) (void);
FP x = whatever ;


The question is if one can do this in one line in C++. Like one can do it in one line in C++ with every other type kind.







c++






share|improve this question









New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 2 hours ago









Guillaume Racicot

15.8k53568




15.8k53568






New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 4 hours ago









emma brainemma brain

863




863




New contributor




emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






emma brain is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 3





    You could always stick with auto x = &the_function;'.

    – François Andrieux
    4 hours ago











  • The name of a function pointer variable appears between the return type and the arguments It won't look like type name = value;.

    – François Andrieux
    4 hours ago












  • You're missing the & before whatever. FP x = &whatever ;

    – dave
    4 hours ago











  • @dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the (char), which should be char in your typedef)

    – andreee
    4 hours ago













  • 3





    You could always stick with auto x = &the_function;'.

    – François Andrieux
    4 hours ago











  • The name of a function pointer variable appears between the return type and the arguments It won't look like type name = value;.

    – François Andrieux
    4 hours ago












  • You're missing the & before whatever. FP x = &whatever ;

    – dave
    4 hours ago











  • @dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the (char), which should be char in your typedef)

    – andreee
    4 hours ago








3




3





You could always stick with auto x = &the_function;'.

– François Andrieux
4 hours ago





You could always stick with auto x = &the_function;'.

– François Andrieux
4 hours ago













The name of a function pointer variable appears between the return type and the arguments It won't look like type name = value;.

– François Andrieux
4 hours ago






The name of a function pointer variable appears between the return type and the arguments It won't look like type name = value;.

– François Andrieux
4 hours ago














You're missing the & before whatever. FP x = &whatever ;

– dave
4 hours ago





You're missing the & before whatever. FP x = &whatever ;

– dave
4 hours ago













@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the (char), which should be char in your typedef)

– andreee
4 hours ago






@dave: That's the same for functions, you don't need the ampersand. @emma: Why should that not be possible in C++? This should work fine (except for the (char), which should be char in your typedef)

– andreee
4 hours ago













2 Answers
2






active

oldest

votes


















7














Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.



Example:



 // typedef
typedef char(*FP)(unsigned);
FP x = y ;

// no typedef
char(*x)(unsigned) = y;


Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.






share|improve this answer






























    8














    You can use auto:



    auto fptr = &f;


    It skips the need of a typedef and conserve a nice syntax.






    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );






      emma brain is a new contributor. Be nice, and check out our Code of Conduct.









      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55400483%2fdeclare-as-function-pointer-and-initialize-in-the-same-line%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      7














      Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.



      Example:



       // typedef
      typedef char(*FP)(unsigned);
      FP x = y ;

      // no typedef
      char(*x)(unsigned) = y;


      Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.






      share|improve this answer



























        7














        Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.



        Example:



         // typedef
        typedef char(*FP)(unsigned);
        FP x = y ;

        // no typedef
        char(*x)(unsigned) = y;


        Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.






        share|improve this answer

























          7












          7








          7







          Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.



          Example:



           // typedef
          typedef char(*FP)(unsigned);
          FP x = y ;

          // no typedef
          char(*x)(unsigned) = y;


          Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.






          share|improve this answer













          Whenever you can write a typedef, you can also write a variable declaration with no typedef, with almost identical syntax.



          Example:



           // typedef
          typedef char(*FP)(unsigned);
          FP x = y ;

          // no typedef
          char(*x)(unsigned) = y;


          Remove the typedef keyword, and you have a variable declaration. Slap an initialisation on it if you want.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 4 hours ago









          n.m.n.m.

          73.7k884171




          73.7k884171























              8














              You can use auto:



              auto fptr = &f;


              It skips the need of a typedef and conserve a nice syntax.






              share|improve this answer



























                8














                You can use auto:



                auto fptr = &f;


                It skips the need of a typedef and conserve a nice syntax.






                share|improve this answer

























                  8












                  8








                  8







                  You can use auto:



                  auto fptr = &f;


                  It skips the need of a typedef and conserve a nice syntax.






                  share|improve this answer













                  You can use auto:



                  auto fptr = &f;


                  It skips the need of a typedef and conserve a nice syntax.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 4 hours ago









                  Guillaume RacicotGuillaume Racicot

                  15.8k53568




                  15.8k53568




















                      emma brain is a new contributor. Be nice, and check out our Code of Conduct.









                      draft saved

                      draft discarded


















                      emma brain is a new contributor. Be nice, and check out our Code of Conduct.












                      emma brain is a new contributor. Be nice, and check out our Code of Conduct.











                      emma brain is a new contributor. Be nice, and check out our Code of Conduct.














                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55400483%2fdeclare-as-function-pointer-and-initialize-in-the-same-line%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Ружовы пелікан Змест Знешні выгляд | Пашырэнне | Асаблівасці біялогіі | Літаратура | НавігацыяДагледжаная версіяправерана1 зменаДагледжаная версіяправерана1 змена/ 22697590 Сістэматыкана ВіківідахВыявына Вікісховішчы174693363011049382

                      ValueError: Error when checking input: expected conv2d_13_input to have shape (3, 150, 150) but got array with shape (150, 150, 3)2019 Community Moderator ElectionError when checking : expected dense_1_input to have shape (None, 5) but got array with shape (200, 1)Error 'Expected 2D array, got 1D array instead:'ValueError: Error when checking input: expected lstm_41_input to have 3 dimensions, but got array with shape (40000,100)ValueError: Error when checking target: expected dense_1 to have shape (7,) but got array with shape (1,)ValueError: Error when checking target: expected dense_2 to have shape (1,) but got array with shape (0,)Keras exception: ValueError: Error when checking input: expected conv2d_1_input to have shape (150, 150, 3) but got array with shape (256, 256, 3)Steps taking too long to completewhen checking input: expected dense_1_input to have shape (13328,) but got array with shape (317,)ValueError: Error when checking target: expected dense_3 to have shape (None, 1) but got array with shape (7715, 40000)Keras exception: Error when checking input: expected dense_input to have shape (2,) but got array with shape (1,)

                      Illegal assignment from SObject to ContactFetching String, Id from Map - Illegal Assignment Id to Field / ObjectError: Compile Error: Illegal assignment from String to BooleanError: List has no rows for assignment to SObjectError on Test Class - System.QueryException: List has no rows for assignment to SObjectRemote action problemDML requires SObject or SObject list type error“Illegal assignment from List to List”Test Class Fail: Batch Class: System.QueryException: List has no rows for assignment to SObjectMapping to a user'List has no rows for assignment to SObject' Mystery