Strange issue with std::vector
I defined std::vector<std::string> m_gamedata; in a class as a member variable.
I created an instance of the class in a function of another class and when i went to use "push_back" i got the following error.
Error 19 error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::push_back' : cannot convert parameter 1 from 'std::string' to 'char' f:\testapps\common\config_handler.h 279
Providing code helps others help you.
You're calling std::string::push_back. Without the code, I cannot tell you why.
std::string pkey1val = pKey1->m_pValue;Providing code helps others help you.
You're calling std::string::push_back. Without the code, I cannot tell you why.
current_config->m_gamedata.push_back(pkey1val);
It sounds like you're accidentally accessing the element in the vector, and then calling push_back().
std::string also has a push_back() function for pushing back chars onto the string.
Maybe you're accidentally doing:
m_gamedata[0].push_back(str); //Incorrect. Calling std::string::push_back()
Instead of:
m_gamedata.push_back(str); //Correct. Calling std::vector::push_back().
It sounds like you're accidentally accessing the element in the vector, and then calling push_back().
std::string also has a push_back() function for pushing back chars onto the string.
Maybe you're accidentally doing:[background=#fafbfc]Instead of:[/background]m_gamedata[0].push_back(str); //Incorrect. Calling std::string::push_back()
m_gamedata.push_back(str); //Correct. Calling std::vector::push_back().
Thank you very much, that was it. I'm embarrassed that I missed that, lol.
std::string pkey1val = pKey1->m_pValue;
current_config->m_gamedata.push_back(pkey1val);
Yeah, that's saying:
m_gamedata[i] //Access the string held at position 'i' inside the vector called m_gamedata.
.push_back(pkey1val); //Call the 'push_back()' function on the string we just accessed.
[Edit:] Whoops, I keep posting two seconds after you.