CLI C ++ отсутствует ';' до '}' - PullRequest
1 голос
/ 28 января 2010

Я изучаю C ++ / CLI и пытаюсь создать компонент Interop для моего проекта C #. Я не уверен, что означает эта ошибка или как ее устранить? Есть идеи?

#pragma once

using namespace System;

namespace Firewall {

    public ref class Firewall
    {
        void StartFirewall(){};
    }
}

Ответы [ 2 ]

13 голосов
/ 28 января 2010

В отличие от C #, C ++ требует точки с запятой после определения типа.

public ref class Firewall
{
    void StartFirewall(){} // doesn't require semicolon here
}; // needs semicolon here.

В C # вы можете фактически иметь точки с запятой после определений типов (хотя и не рекомендуется), и это будет игнорироваться. Он существует для согласованности с синтаксисом C ++.

3 голосов
/ 28 января 2010

Нет необходимости иметь ; в том месте, где оно у вас есть. Вместо этого поместите его после закрытия } класса Firewall.

public ref class Firewall
{
    void StartFirewall(){}
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...