Что не так с этим классом? - PullRequest
2 голосов
/ 09 июля 2011

Я пытаюсь создать простую статическую библиотеку C ++, которую я могу связать с приложением MonoTouch и вызывать функции через MonoTouch.Я пытаюсь скомпилировать статическую библиотеку в XCode и получить это (отредактировано после исправления ildjarn):

class MyClass
{
public:
    static int Get5() { return 5; }
    static int Get10() { return 10; }
};

В первой строке я получаю следующую ошибку:

Ожидается'=', ',', ';', 'asm' или ' attribute ' перед 'MyClass'

Любые идеи почему?

Каккроме как я могу скомпилировать статическую библиотеку в Visual Studio и связать ее с приложением MonoTouch или это невозможно?

Ответы [ 3 ]

2 голосов
/ 09 июля 2011

Вы смешиваете Java с C ++.Поместите «public» перед классом и поменяйте «public» на «public»: *

2 голосов
/ 09 июля 2011
class MyClass
{    
    public:
    int Get5()    
    {        
        return 5;    
    }    
    int Get10()    
    {        
       return 10;    
    }
};

Или, возможно, вам нужно скомпилировать его с флагом / clr (с вашим исходным кодом).

2 голосов
/ 09 июля 2011

За декораторами специальных возможностей членов в C ++ следует двоеточие, например, метки или регистры переключателей -

class MyClass
{
public:
    static int Get5() { return 5; }
    static int Get10() { return 10; }
};

Кроме того, декораторы специальных возможностей не влияют на типы областей имен в C ++, поэтому public class MyClassбессмысленный.

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