Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Cannot call a function
QtWS25 Last Chance

Cannot call a function

Scheduled Pinned Locked Moved Solved General and Desktop
9 Posts 3 Posters 745 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    GunkutA
    wrote on last edited by
    #1

    Hello, I cannot call a function from another function. I do not know what is wrong. I have a function that returns double :

        double calculateMathVectors();
    

    That is how it is defined in header under private: section. Then when I try to call it from another function as:

    void protocolForm::receiveMathSignals(QString selected1, QString selected2, QString operation, QString signalName)
    {
        protocolForm::calculateMathVectors();
    }
    

    At the beginning of the called function there is qDebug().

    double protocolForm::calculateMathVectors()
    {
        qDebug()<< "entered";
    .
    .
    .
    }
    

    But it never enters to that qDebug(). How might be wrong? Probably I am missing a very simple thing.

    JonBJ KroMignonK 2 Replies Last reply
    0
    • G GunkutA

      Hello, I cannot call a function from another function. I do not know what is wrong. I have a function that returns double :

          double calculateMathVectors();
      

      That is how it is defined in header under private: section. Then when I try to call it from another function as:

      void protocolForm::receiveMathSignals(QString selected1, QString selected2, QString operation, QString signalName)
      {
          protocolForm::calculateMathVectors();
      }
      

      At the beginning of the called function there is qDebug().

      double protocolForm::calculateMathVectors()
      {
          qDebug()<< "entered";
      .
      .
      .
      }
      

      But it never enters to that qDebug(). How might be wrong? Probably I am missing a very simple thing.

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #2

      @GunkutA
      It looks like you should just call it via calculateMathVectors();. However, put a qDebug() into protocolForm::receiveMathSignal() first line, prove that is being called in the first place?

      G 1 Reply Last reply
      0
      • G GunkutA

        Hello, I cannot call a function from another function. I do not know what is wrong. I have a function that returns double :

            double calculateMathVectors();
        

        That is how it is defined in header under private: section. Then when I try to call it from another function as:

        void protocolForm::receiveMathSignals(QString selected1, QString selected2, QString operation, QString signalName)
        {
            protocolForm::calculateMathVectors();
        }
        

        At the beginning of the called function there is qDebug().

        double protocolForm::calculateMathVectors()
        {
            qDebug()<< "entered";
        .
        .
        .
        }
        

        But it never enters to that qDebug(). How might be wrong? Probably I am missing a very simple thing.

        KroMignonK Offline
        KroMignonK Offline
        KroMignon
        wrote on last edited by KroMignon
        #3

        @GunkutA said in Cannot call a function:

        Probably I am missing a very simple thing.

        Perhaps you have to learn a little bit more C++ language basics?
        If you want to call a function from your class, simply call it!

        double protocolForm::calculateMathVectors()
        {
            qDebug()<< "entered";
            ...
        }
        void protocolForm::receiveMathSignals(QString selected1, QString selected2, QString operation, QString signalName)
        {
            calculateMathVectors();
        }
        

        Just another hint, it is recommended to use UpperCamelCase for class names and lowerCamelCase for function names.
        So your class name should be ProtocolForm.

        It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

        G 1 Reply Last reply
        3
        • JonBJ JonB

          @GunkutA
          It looks like you should just call it via calculateMathVectors();. However, put a qDebug() into protocolForm::receiveMathSignal() first line, prove that is being called in the first place?

          G Offline
          G Offline
          GunkutA
          wrote on last edited by
          #4

          @JonB There is a qDebug() in the first line of protocolForm::receiveMathSignal(). When I simply called calculateMathVectors(); still not entering the function sadly.

          JonBJ 1 Reply Last reply
          0
          • KroMignonK KroMignon

            @GunkutA said in Cannot call a function:

            Probably I am missing a very simple thing.

            Perhaps you have to learn a little bit more C++ language basics?
            If you want to call a function from your class, simply call it!

            double protocolForm::calculateMathVectors()
            {
                qDebug()<< "entered";
                ...
            }
            void protocolForm::receiveMathSignals(QString selected1, QString selected2, QString operation, QString signalName)
            {
                calculateMathVectors();
            }
            

            Just another hint, it is recommended to use UpperCamelCase for class names and lowerCamelCase for function names.
            So your class name should be ProtocolForm.

            G Offline
            G Offline
            GunkutA
            wrote on last edited by
            #5

            @KroMignon When I simply call it, still not printing the qDebug().

            KroMignonK 1 Reply Last reply
            0
            • G GunkutA

              @KroMignon When I simply call it, still not printing the qDebug().

              KroMignonK Offline
              KroMignonK Offline
              KroMignon
              wrote on last edited by
              #6

              @GunkutA said in Cannot call a function:

              When I simply call it, still not printing the qDebug().

              Are you sure you are running the right code (e.g. do you have build it successfully)?
              Do you have tried to set breakpoint and start in debug mode?

              It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

              G 1 Reply Last reply
              1
              • G GunkutA

                @JonB There is a qDebug() in the first line of protocolForm::receiveMathSignal(). When I simply called calculateMathVectors(); still not entering the function sadly.

                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by JonB
                #7

                @GunkutA said in Cannot call a function:

                @JonB There is a qDebug() in the first line of protocolForm::receiveMathSignal().

                No there isn't, you have shown the code of protocolForm::receiveMathSignals() method and there is no such statement.

                G 1 Reply Last reply
                1
                • JonBJ JonB

                  @GunkutA said in Cannot call a function:

                  @JonB There is a qDebug() in the first line of protocolForm::receiveMathSignal().

                  No there isn't, you have shown the code of protocolForm::receiveMathSignals() method and there is no such statement.

                  G Offline
                  G Offline
                  GunkutA
                  wrote on last edited by
                  #8

                  @JonB Yes you are right, I did not connect that slot... My bad and thanks.

                  1 Reply Last reply
                  0
                  • KroMignonK KroMignon

                    @GunkutA said in Cannot call a function:

                    When I simply call it, still not printing the qDebug().

                    Are you sure you are running the right code (e.g. do you have build it successfully)?
                    Do you have tried to set breakpoint and start in debug mode?

                    G Offline
                    G Offline
                    GunkutA
                    wrote on last edited by
                    #9

                    @KroMignon I forgot to connect signal and slots, my bad :( and thanks

                    1 Reply Last reply
                    0

                    • Login

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Search
                    • Get Qt Extensions
                    • Unsolved