Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.



This topic is 5855 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

When I try to compile some code, my compiler says ''Lvalue required''. Now, I know it will give you the error if you go like this: 27 = int num; But here''s my code: player.helmet.name = "Thin leather helmet"; Where ''name'' is a character array.. I''m baffled..

Share this post

Link to post
Share on other sites
You cannot assign a new address ( and a "quoted string" really is an address ) to an array ( their address is fixed once and for all, technically your char name[] is a char* const name (const pointer to non-const data)).

Now, in C++, if you replace your char[] with a std::string (#include <string> you can do your assignment without any trouble.

In C, you''ll either need to use a const char* (in this case, the pointer will point to the address of the "quoted string" (the string itself is a constant)), or use strcpy() to copy the string over (no direct assignment with operator=() ).

Documents [ GDNet | MSDN | STL | OpenGL | Formats | RTFM | Asking Smart Questions ]
C++ Stuff [ MinGW | Loki | SDL | Boost. | STLport | FLTK | ACCU Recommended Books ]

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!