C ++: добавление текста в форму - PullRequest
1 голос
/ 05 апреля 2011

Я некоторое время отсутствовал в C ++, и это может быть просто глупость, но почему это дает мне ошибку (ошибка ниже кода).

Код:

// NetworkServer.cpp : main project file.

#include "stdafx.h"
#include "Form1.h"
#include <winsock2.h>
#include <iostream>
using namespace std;
using namespace NetworkServer;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false); 

// Create the main window and run it
Application::Run(gcnew Form1());


    public void setUsers()
{
    string connectedUsers[] = {"John", "Alex", "Phillip", "Steve"};
    Form1->txt_connectedClients.AppendText(connectedUsers[1]);
}

    return 0;
}

Ошибка:

    1>NetworkServer.cpp(22): error C2143: syntax error : missing ';' before '->'
    1>NetworkServer.cpp(22): error C2143: syntax error : missing ';' before '->'

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Form1 - это имя type , вам нужен объект. Я не вижу контекста кода, но пока этот код написан внутри метода класса Form1, this-> будет работать.

public ref class Form1 : public System::Windows::Forms::Form
{
   //...
public:
    void setUsers() {
        array<String^>^ connectedUsers = gcnew array<String^> {"John", "Alex", "Phillip", "Steve"};
        this->txt_connectedClients->AppendText(connectedUsers[1]);
    }
};

Помните, что вы программируете на языке C ++ / CLI, а не на C ++.

0 голосов
/ 05 апреля 2011

Либо txt_connectedClients не существует, либо не является указателем. Вместо этого попробуйте оператор точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...