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. How to define static members in a static function in .cpp file?
Forum Updated to NodeBB v4.3 + New Features

How to define static members in a static function in .cpp file?

Scheduled Pinned Locked Moved Solved General and Desktop
16 Posts 2 Posters 3.2k Views 1 Watching
  • 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.
  • jsulmJ jsulm

    @thippu Please show your code (how you declare the static variable and how you're initialising it).
    It sounds like you did not define the static member. You need this in your cpp:

    double AmpConfiguration::sampling_rate;
    
    T Offline
    T Offline
    thippu
    wrote on last edited by
    #5

    @jsulm said in How to define static members in a static function in .cpp file?:

    double AmpConfiguration::sampling_rate;

    double AmpConfiguration::sampling_rate=10.2 //like this? in the static function?

    jsulmJ 1 Reply Last reply
    0
    • T thippu

      @jsulm said in How to define static members in a static function in .cpp file?:

      double AmpConfiguration::sampling_rate;

      double AmpConfiguration::sampling_rate=10.2 //like this? in the static function?

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #6

      @thippu said in How to define static members in a static function in .cpp file?:

      in the static function?

      No. Like this:

      double AmpConfiguration::sampling_rate=10.2;
      void AmpConfiguration::ReadIni()
      

      See https://en.cppreference.com/w/cpp/language/static

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • jsulmJ jsulm

        @thippu Not really what I asked...
        Did you add

        double AmpConfiguration::sampling_rate;
        

        to your cpp file?

        T Offline
        T Offline
        thippu
        wrote on last edited by
        #7

        @jsulm yes bro, I did add like this double AmpConfiguration::sampling_rate=line_list->at(0).toDouble();
        but new error came qualified-id decalration before "=" token

        jsulmJ 1 Reply Last reply
        0
        • T thippu

          @jsulm yes bro, I did add like this double AmpConfiguration::sampling_rate=line_list->at(0).toDouble();
          but new error came qualified-id decalration before "=" token

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by jsulm
          #8

          @thippu said in How to define static members in a static function in .cpp file?:

          double AmpConfiguration::sampling_rate=line_list->at(0).toDouble();

          Please read again what I wrote.
          Where do you call this now?
          It looks like you're now trying to declare a LOCAL variable with same name which is for sure not what you want to do.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          T 1 Reply Last reply
          0
          • jsulmJ jsulm

            @thippu said in How to define static members in a static function in .cpp file?:

            double AmpConfiguration::sampling_rate=line_list->at(0).toDouble();

            Please read again what I wrote.
            Where do you call this now?
            It looks like you're now trying to declare a LOCAL variable with same name which is for sure not what you want to do.

            T Offline
            T Offline
            thippu
            wrote on last edited by
            #9

            @jsulm said in How to define static members in a static function in .cpp file?:

            Where do you call this now?

            In the mainwindow.cpp

            jsulmJ 1 Reply Last reply
            0
            • T thippu

              @jsulm said in How to define static members in a static function in .cpp file?:

              Where do you call this now?

              In the mainwindow.cpp

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #10

              @thippu said in How to define static members in a static function in .cpp file?:

              In the mainwindow.cpp

              WHERE EXACTLY?

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              T 1 Reply Last reply
              0
              • jsulmJ jsulm

                @thippu said in How to define static members in a static function in .cpp file?:

                In the mainwindow.cpp

                WHERE EXACTLY?

                T Offline
                T Offline
                thippu
                wrote on last edited by thippu
                #11

                @jsulm
                In the constructor of mainwindow.cpp
                I'm calling AmpConfiguration::ReadIni(); First statement itself

                jsulmJ 1 Reply Last reply
                0
                • T thippu

                  @jsulm
                  In the constructor of mainwindow.cpp
                  I'm calling AmpConfiguration::ReadIni(); First statement itself

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #12

                  @thippu Can you actually be more precise when answering questions?
                  Do you mean you put that line in the constructor or inside ReadIni()?
                  But as I said: you're declaring a local variable with same name.
                  It must be like this:

                  AmpConfiguration::sampling_rate=line_list->at(0).toDouble();
                  

                  AmpConfiguration:: can be removed as well...

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  T 2 Replies Last reply
                  1
                  • jsulmJ jsulm

                    @thippu Can you actually be more precise when answering questions?
                    Do you mean you put that line in the constructor or inside ReadIni()?
                    But as I said: you're declaring a local variable with same name.
                    It must be like this:

                    AmpConfiguration::sampling_rate=line_list->at(0).toDouble();
                    

                    AmpConfiguration:: can be removed as well...

                    T Offline
                    T Offline
                    thippu
                    wrote on last edited by
                    #13

                    @jsulm said in How to define static members in a static function in .cpp file?:

                    local variable

                    I would like it to be a global static variable.

                    and I would like to use it(initialize) inside AmpConfiguration::ReadIni()

                    @jsulm said in How to define static members in a static function in .cpp file?:

                    AmpConfiguration::sampling_rate=line_list->at(0).toDouble();

                    finally, Calling the AmpConfiguration::ReadIni()in constructor of mainwindow.cpp.

                    1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @thippu Can you actually be more precise when answering questions?
                      Do you mean you put that line in the constructor or inside ReadIni()?
                      But as I said: you're declaring a local variable with same name.
                      It must be like this:

                      AmpConfiguration::sampling_rate=line_list->at(0).toDouble();
                      

                      AmpConfiguration:: can be removed as well...

                      T Offline
                      T Offline
                      thippu
                      wrote on last edited by
                      #14

                      @jsulm said in How to define static members in a static function in .cpp file?:

                      AmpConfiguration::sampling_rate=line_list->at(0).toDouble();

                      No, change in the error. still, I'm getting undefined reference

                      jsulmJ 1 Reply Last reply
                      0
                      • T thippu

                        @jsulm said in How to define static members in a static function in .cpp file?:

                        AmpConfiguration::sampling_rate=line_list->at(0).toDouble();

                        No, change in the error. still, I'm getting undefined reference

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #15

                        @thippu "I would like it to be a global static variable." - then why do you declare it as local variable?
                        Did you put

                        double AmpConfiguration::sampling_rate=10.2; // This has to be OUTSIDE of any method/constructor
                        void AmpConfiguration::ReadIni()
                        {
                            sampling_rate=line_list->at(0).toDouble();
                        }
                        

                        as I already wrote above?
                        Please read about static members in C++.

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        T 1 Reply Last reply
                        3
                        • jsulmJ jsulm

                          @thippu "I would like it to be a global static variable." - then why do you declare it as local variable?
                          Did you put

                          double AmpConfiguration::sampling_rate=10.2; // This has to be OUTSIDE of any method/constructor
                          void AmpConfiguration::ReadIni()
                          {
                              sampling_rate=line_list->at(0).toDouble();
                          }
                          

                          as I already wrote above?
                          Please read about static members in C++.

                          T Offline
                          T Offline
                          thippu
                          wrote on last edited by
                          #16

                          @jsulm said in How to define static members in a static function in .cpp file?:

                          // This has to be OUTSIDE of any method/constructor

                          Worked. bro
                          Thank you

                          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