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. Other Discussions
  3. Clever Code
  4. Who finds it first... [closed] : [modified]

Who finds it first... [closed] : [modified]

Scheduled Pinned Locked Moved Clever Code
comhelp
23 Posts 10 Posters 4 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.
  • S sw thi

    if((stSourcePath.size==0)||(stDestPath.size==0)) Isn't size a function?? It should probably be if((stSourcePath.size()==0)||(stDestPath.size()==0)) and you should be getting a compilation error?!!

    "a child will grow up to become an adult, but you can never stop the adult from acting like a child"

    E Offline
    E Offline
    Eytukan
    wrote on last edited by
    #12

    You get my gift :beer:.


    Best wishes to Rexx[^]

    V 1 Reply Last reply
    0
    • A admirm

      **std::string stSroucePath;** std::string stDestPath; setSourcePath(&stSourcePath); setTargetPath(&stDestPath); if((stSourcePath.size==0)||(stDestPath.size==0)) stSroucePath ... it should be stSourcePath ... it is a typo? Em i right? -- modified at 5:42 Tuesday 17th July, 2007

      E Offline
      E Offline
      Eytukan
      wrote on last edited by
      #13

      Oh my god just realizing how bad I'm with the keyboard. Sorry for the typo dude. btw, Swati m just found it! It's the simple "()" thingie.


      Best wishes to Rexx[^]

      1 Reply Last reply
      0
      • A admirm

        **std::string stSroucePath;** std::string stDestPath; setSourcePath(&stSourcePath); setTargetPath(&stDestPath); if((stSourcePath.size==0)||(stDestPath.size==0)) stSroucePath ... it should be stSourcePath ... it is a typo? Em i right? -- modified at 5:42 Tuesday 17th July, 2007

        E Offline
        E Offline
        Eytukan
        wrote on last edited by
        #14

        Anyway you've spotted a typo bug, so :beer: for ya too ! :-D


        Best wishes to Rexx[^]

        1 Reply Last reply
        0
        • E Eytukan

          You get my gift :beer:.


          Best wishes to Rexx[^]

          V Offline
          V Offline
          Vikram A Punathambekar
          wrote on last edited by
          #15

          Hey, I saw that! I was fairly sure it was C++, but noticed size didn't have the parantheses. That's why I said the language looks alien. I was looking for a runtime error. :| But Swathi can have your beer; I'm a teetotaller. ;P

          Cheers, Vıkram.


          After all is said and done, much is said and little is done.

          S E 2 Replies Last reply
          0
          • V Vikram A Punathambekar

            Hey, I saw that! I was fairly sure it was C++, but noticed size didn't have the parantheses. That's why I said the language looks alien. I was looking for a runtime error. :| But Swathi can have your beer; I'm a teetotaller. ;P

            Cheers, Vıkram.


            After all is said and done, much is said and little is done.

            S Offline
            S Offline
            sw thi
            wrote on last edited by
            #16

            He mentioned that it was a typo ;p

            "a child will grow up to become an adult, but you can never stop the adult from acting like a child"

            1 Reply Last reply
            0
            • V Vikram A Punathambekar

              Hey, I saw that! I was fairly sure it was C++, but noticed size didn't have the parantheses. That's why I said the language looks alien. I was looking for a runtime error. :| But Swathi can have your beer; I'm a teetotaller. ;P

              Cheers, Vıkram.


              After all is said and done, much is said and little is done.

              E Offline
              E Offline
              Eytukan
              wrote on last edited by
              #17

              There are many objects that expose values through member variables, so when you mix them up with the objects that uses functions to return values, you'll get confused. In particular when the object supports both ways.

              Vikram A Punathambekar wrote:

              But Swathi can have your beer; I'm a teetotaller.

              Hey that's actually an apple juice filled in a beer cup ;P


              Best wishes to Rexx[^]

              1 Reply Last reply
              0
              • A admirm

                **std::string stSroucePath;** std::string stDestPath; setSourcePath(&stSourcePath); setTargetPath(&stDestPath); if((stSourcePath.size==0)||(stDestPath.size==0)) stSroucePath ... it should be stSourcePath ... it is a typo? Em i right? -- modified at 5:42 Tuesday 17th July, 2007

                M Offline
                M Offline
                mav northwind
                wrote on last edited by
                #18

                admirm wrote:

                stSroucePath ... it should be stSourcePath ... it is a typo? Em i right?

                says the guy with a typo in his user name - shouldn't it be admin? :laugh:

                Regards, mav -- Black holes are the places where God divided by 0...

                1 Reply Last reply
                0
                • E Eytukan

                  std::string stSroucePath; std::string stDestPath; setSourcePath(&stSourcePath); setTargetPath(&stDestPath); if((stSourcePath.size==0)||(stDestPath.size==0))// should be `size()`swati m spots it! :-D happy coding dude ;) { prompt("Set the Directory paths!"); //Added! } else { int nRes = examineFile(stSourcePath.c_str()); if(nRes>0) { moveFilesToDest(&stDestPath); vec_stMovedFiles.push_back(&stDestPath); vec_stMovedFiles.push_back(stDestPath); return; } switch(nRes) { case -1: prompt("Protected!"); break; case -2: ... . . . } } Find the dumb little evil bug inside..(Don't worry about the purpose of the code) It doesn't throw any exception but will screw up your application silently.


                  Best wishes to Rexx[^]

                  M Offline
                  M Offline
                  Michael Sadlon
                  wrote on last edited by
                  #19

                  That's why I use std::string.length :) (or was it length() :doh:)

                  1 Reply Last reply
                  0
                  • E Eytukan

                    std::string stSroucePath; std::string stDestPath; setSourcePath(&stSourcePath); setTargetPath(&stDestPath); if((stSourcePath.size==0)||(stDestPath.size==0))// should be `size()`swati m spots it! :-D happy coding dude ;) { prompt("Set the Directory paths!"); //Added! } else { int nRes = examineFile(stSourcePath.c_str()); if(nRes>0) { moveFilesToDest(&stDestPath); vec_stMovedFiles.push_back(&stDestPath); vec_stMovedFiles.push_back(stDestPath); return; } switch(nRes) { case -1: prompt("Protected!"); break; case -2: ... . . . } } Find the dumb little evil bug inside..(Don't worry about the purpose of the code) It doesn't throw any exception but will screw up your application silently.


                    Best wishes to Rexx[^]

                    D Offline
                    D Offline
                    dighn
                    wrote on last edited by
                    #20

                    How does stSourcePath.size==0 even compile?! Also, is something wrong here: vec_stMovedFiles.push_back(&stDestPath); return; You are storing the address of a stack variable followed immediately by a return. The use of the variable must be after the return, at which point the variable is no longer valid.

                    E N 3 Replies Last reply
                    0
                    • D dighn

                      How does stSourcePath.size==0 even compile?! Also, is something wrong here: vec_stMovedFiles.push_back(&stDestPath); return; You are storing the address of a stack variable followed immediately by a return. The use of the variable must be after the return, at which point the variable is no longer valid.

                      E Offline
                      E Offline
                      Eytukan
                      wrote on last edited by
                      #21

                      Please check my reply to Optimus Chaos Linkety[^] actually I modified/typed the code here online just to make it simpler to understand. I just copied the string name from the previous line, so the "&" thing came along!

                      dighn wrote:

                      You are storing the address of a stack variable followed immediately by a return. The use of the variable must be after the return, at which point the variable is no longer valid.

                      Yup I know :). The reason just explained above.


                      Best wishes to Rexx[^]

                      1 Reply Last reply
                      0
                      • D dighn

                        How does stSourcePath.size==0 even compile?! Also, is something wrong here: vec_stMovedFiles.push_back(&stDestPath); return; You are storing the address of a stack variable followed immediately by a return. The use of the variable must be after the return, at which point the variable is no longer valid.

                        E Offline
                        E Offline
                        Eytukan
                        wrote on last edited by
                        #22

                        dighn wrote:

                        How does stSourcePath.size==0 even compile?!

                        #pragma warning (disable: 4786) In VC 6.0, it compiles.


                        Best wishes to Rexx[^]

                        1 Reply Last reply
                        0
                        • D dighn

                          How does stSourcePath.size==0 even compile?! Also, is something wrong here: vec_stMovedFiles.push_back(&stDestPath); return; You are storing the address of a stack variable followed immediately by a return. The use of the variable must be after the return, at which point the variable is no longer valid.

                          N Offline
                          N Offline
                          Nemanja Trifunovic
                          wrote on last edited by
                          #23

                          dighn wrote:

                          How does stSourcePath.size==0 even compile?!

                          IIRC, VC++ 6.0 would let things like this compile.


                          Programming Blog utf8-cpp

                          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