Search code examples
c++stringstdstring

Assigning const std::string to std::string in c++


I am trying to assign a const std::string variable to std::string variable.But getting some memory related error. code is like below:

#include <iostream>
#include <string>

using namespace std;
std::string sender1;

std::string fun()
{
      const std::string sender = "hi";
       sender1.assign(sender);
      
}

int main()
{
    fun();
    cout<<sender1<<endl;
    return 0;   
}

Solution

  • You've forgotten a return in fun. If you change that function like this:

    std::string fun()
    {
        const std::string sender = "hi";
        sender1.assign(sender);
        return sender;
    }
    

    then the code will compile and run fine.