Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Can not find where to define an identifier..

Can not find where to define an identifier..

Scheduled Pinned Locked Moved C / C++ / MFC
c++helpdebuggingtoolslearning
15 Posts 3 Posters 1 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.
  • C CPallini

    You have to find where

    Screen2Enter, Screen2Create, Screen2Update, Screen2Exit

    are declared (and where they are defined) and do something similar to what you've already done: make the brand new

    Screen3Enter, Screen3Create, Screen3Update, Screen3Exit

    copying and renaming. Unfortunately the process could go on deeper and deeper.

    "In testa che avete, Signor di Ceprano?" -- Rigoletto

    C Offline
    C Offline
    Carbonkevlar13
    wrote on last edited by
    #4

    Thanks the functions are defined in the script of the screen I am wondering if they should be declared somewhere else ? void Screen3Enter(void) { } void Screen3Create(void) { // Setup default keys ScreensSetupDefaultKeys();

    C L 2 Replies Last reply
    0
    • L Lost User

      No one here can guess what this code is doing, or what it is supposed to do. And trying to learn C++ by modifying someone else's code is not a great idea.

      C Offline
      C Offline
      Carbonkevlar13
      wrote on last edited by
      #5

      OK thanks but i have no time to learn from scratch I have an existing code doing more or less what i expect on the displays and am trying to make it look how i want.

      L 1 Reply Last reply
      0
      • C Carbonkevlar13

        OK thanks but i have no time to learn from scratch I have an existing code doing more or less what i expect on the displays and am trying to make it look how i want.

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #6

        Carbonkevlar13 wrote:

        i have no time to learn from scratch

        Then you are going to need a lot of luck, and will probably get very frustrated. Looking at the few lines of code you did show suggests that it is a Windows GUI application, so that is another subject you will need to learn.

        1 Reply Last reply
        0
        • C Carbonkevlar13

          Thanks the functions are defined in the script of the screen I am wondering if they should be declared somewhere else ? void Screen3Enter(void) { } void Screen3Create(void) { // Setup default keys ScreensSetupDefaultKeys();

          C Offline
          C Offline
          CPallini
          wrote on last edited by
          #7

          In C++ there is no script. There are, instead, header files (*.h) and source files (usually *.cpp or *.cc). You should put the function declarations, e.g.

          void Screen3Enter();

          in header files, while the function definitions, e.g.

          void Screen3Enter()
          {
          // some useful code here
          }

          should be written in source files.

          "In testa che avete, Signor di Ceprano?" -- Rigoletto

          C 1 Reply Last reply
          0
          • C CPallini

            In C++ there is no script. There are, instead, header files (*.h) and source files (usually *.cpp or *.cc). You should put the function declarations, e.g.

            void Screen3Enter();

            in header files, while the function definitions, e.g.

            void Screen3Enter()
            {
            // some useful code here
            }

            should be written in source files.

            "In testa che avete, Signor di Ceprano?" -- Rigoletto

            C Offline
            C Offline
            Carbonkevlar13
            wrote on last edited by
            #8

            Thanks i already have these declarations inside screens3.cpp void Screen3Enter(void) void Screen3Create(void) void Screen3Update(void) void Screen3Exit(void) when i am inside screens3.cpp there is a "No issues found" message at the bottom of the screen but when i launch the simulation i have these 4 error messages C2065 'Screen3Enter' undeclared identifier from the screens.cpp source referring to the following line MMIRegisterScreen(SCREENID_3, Screen3Enter, Screen3Create, Screen3Update, Screen3Exit); Thanks for trying to help me

            C 1 Reply Last reply
            0
            • C Carbonkevlar13

              Thanks i already have these declarations inside screens3.cpp void Screen3Enter(void) void Screen3Create(void) void Screen3Update(void) void Screen3Exit(void) when i am inside screens3.cpp there is a "No issues found" message at the bottom of the screen but when i launch the simulation i have these 4 error messages C2065 'Screen3Enter' undeclared identifier from the screens.cpp source referring to the following line MMIRegisterScreen(SCREENID_3, Screen3Enter, Screen3Create, Screen3Update, Screen3Exit); Thanks for trying to help me

              C Offline
              C Offline
              CPallini
              wrote on last edited by
              #9

              Put those declarations inside the screens3.h header file. For instance:

              // screens3.h
              #ifndef _SCREENS3_
              #define _SCREENS3_
              void Screen3Enter(void);
              void Screen3Create(void);
              void Screen3Update(void);
              void Screen3Exit(void);
              #endif

              then put

              #include "screens3.h"

              in every source file that needs them (e.g. screens.cpp)

              "In testa che avete, Signor di Ceprano?" -- Rigoletto

              C 1 Reply Last reply
              0
              • C CPallini

                Put those declarations inside the screens3.h header file. For instance:

                // screens3.h
                #ifndef _SCREENS3_
                #define _SCREENS3_
                void Screen3Enter(void);
                void Screen3Create(void);
                void Screen3Update(void);
                void Screen3Exit(void);
                #endif

                then put

                #include "screens3.h"

                in every source file that needs them (e.g. screens.cpp)

                "In testa che avete, Signor di Ceprano?" -- Rigoletto

                C Offline
                C Offline
                Carbonkevlar13
                wrote on last edited by
                #10

                I added #include "screens3.h" in different source files although it was not for the other screens When i launched the simulator there was an error message saying "cannot open source file screen3.h" I tried to retype MMIRegisterScreen instead of copying it and when i started to type the first function (screen3Enter) it proposed different functions to me but none for the screen 3 although they qre declared inside the screen3.cpp I deleted the screen3Enter function and retyped it hoping to see it appear in the list of proposed functions for the MMURefusterScreen but still it was not in the list

                C 1 Reply Last reply
                0
                • C Carbonkevlar13

                  Thanks the functions are defined in the script of the screen I am wondering if they should be declared somewhere else ? void Screen3Enter(void) { } void Screen3Create(void) { // Setup default keys ScreensSetupDefaultKeys();

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #11

                  As I said earlier, it is impossible to guess without more information. Just showing a couple of random lnes of code gives no real idea of what is missing.

                  1 Reply Last reply
                  0
                  • C Carbonkevlar13

                    I added #include "screens3.h" in different source files although it was not for the other screens When i launched the simulator there was an error message saying "cannot open source file screen3.h" I tried to retype MMIRegisterScreen instead of copying it and when i started to type the first function (screen3Enter) it proposed different functions to me but none for the screen 3 although they qre declared inside the screen3.cpp I deleted the screen3Enter function and retyped it hoping to see it appear in the list of proposed functions for the MMURefusterScreen but still it was not in the list

                    C Offline
                    C Offline
                    CPallini
                    wrote on last edited by
                    #12

                    Quote:

                    I added #include "screens3.h" in different source

                    Quote:

                    there was an error message saying "cannot open source file screen3.h"

                    can you spot the difference?

                    "In testa che avete, Signor di Ceprano?" -- Rigoletto

                    C 1 Reply Last reply
                    0
                    • C CPallini

                      Quote:

                      I added #include "screens3.h" in different source

                      Quote:

                      there was an error message saying "cannot open source file screen3.h"

                      can you spot the difference?

                      "In testa che avete, Signor di Ceprano?" -- Rigoletto

                      C Offline
                      C Offline
                      Carbonkevlar13
                      wrote on last edited by
                      #13

                      yes i removed the s from screens3 but no change finally what i did is modify a fourth screen already programmed with a gauge to benefit from the declarations and it works.. I still do not understand why it did not work with my screen. Thanks for your help !

                      C L 2 Replies Last reply
                      0
                      • C Carbonkevlar13

                        yes i removed the s from screens3 but no change finally what i did is modify a fourth screen already programmed with a gauge to benefit from the declarations and it works.. I still do not understand why it did not work with my screen. Thanks for your help !

                        C Offline
                        C Offline
                        CPallini
                        wrote on last edited by
                        #14

                        You are welcome.

                        "In testa che avete, Signor di Ceprano?" -- Rigoletto

                        1 Reply Last reply
                        0
                        • C Carbonkevlar13

                          yes i removed the s from screens3 but no change finally what i did is modify a fourth screen already programmed with a gauge to benefit from the declarations and it works.. I still do not understand why it did not work with my screen. Thanks for your help !

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #15

                          Carbonkevlar13 wrote:

                          I still do not understand why it did not work with my screen.

                          So look carefully at all the other code and compare it line by line with the code that you made.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups