这门课有什么问题?

What's wrong with this class?

本文关键字:问题 什么      更新时间:2023-10-16

我试图创建一个简单的静态c++库,我可以将其链接到MonoTouch应用程序并通过MonoTouch调用函数。我正试图在XCode中编译静态库,并有这个(编辑自ildjarn修复):

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

我在第一行得到以下错误:

期望'=',',',';','asm'或'属性' MyClass'前'

知道为什么吗?

顺便说一句,我可以在Visual Studio中编译静态库并将其链接到MonoTouch应用程序中吗?

在c++中,成员可访问性修饰符后面跟一个冒号,就像标签或切换用例一样——

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

而且,可访问性修饰符对c++中命名空间作用域的类型没有影响,因此public class MyClass是无意义的。

你把Java和c++混在一起了。在类之前删除"public",并将另一个"public"更改为"public:"

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

或者您可能需要使用/clr编译器标志(使用您的原始代码)编译它。