Putting an object's data member into a form's label

srfpala 111 Reputation points
2020-12-11T01:06:50.567+00:00

Thanks to DavidLowndes-6766 for previous help
In Win 10 using VS2019
Given a Window DeskTop App:
lblNumber->Text = System::Convert::ToString(myObj.myNum); // Works
lblText->Text = "Some test data"; // Works
However,

lblText->Text = myObj.myString; // Fails even though myString is type string

If I can copy a string literal into a form's label, why can't I copy
a string object member into a form's label called lblText->Text ?
Generated Error C2664 is - 'void System::Windows::Forms::Control::Text::set(System::String ^)': cannot convert argument 1 from 'std::string' to 'System::String ^'
What should I do ?
TIA Bob

C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,788 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. SM 416 Reputation points
    2020-12-11T02:37:29.173+00:00
    0 comments No comments

  2. Jeanine Zhang-MSFT 10,041 Reputation points Microsoft Vendor
    2020-12-11T05:16:13.047+00:00

    Hi,

    I suggest you could refer to the Doc: How to: Convert Standard String to System::String.

    Best Regards,

    Jeanine


    If the response is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

  3. srfpala 111 Reputation points
    2020-12-12T19:03:01.697+00:00

    Reviewed previous discussion and thankx but
    Question continues
    // ========== OBJECTIVE copy the myObj.myString data member into a form's label
    /*
    class MyClass { // This class is defined in MyClass.h
    public: // Access specifier
    int myNum; // Attribute (int variable)
    string myString; // Attribute (string variable)
    };
    */

        lblText->Text = "Some test data"; // Testing - So the form's label exists and 
                                           // accepts a literal   which may or may not be a string ?????
        lblText->Text = myObj.myString;  // Failure 1 - rejects the object's string data 
                                         //   member .... BUT WHY ? 
    

    Still confused
    Any suggestions ?
    TIA
    srfpala


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.