调用没有类实例的C ++类方法?

北极熊 :

长话短说,我正在尝试构建一个包装程序以从C主函数访问C ++源代码(由于嵌入式系统,我必须进行转换)。但是,在不创建该类的实例的情况下,无法从类调用方法到外部函数。

我想*side从我的C代码中传递此指针,计算它的多维数据集,然后返回该多维数据集的值。我已经用简单的指针函数和变量测试了包装器,它工作得很好,但是我在使用类方法时遇到了麻烦。这是我的源代码,由于我在最后一行犯了错误...:

class Cube
{
public:
    static int getVolume(int *side)
    {
        return *side * *side * *side;     //returns volume of cube
    }
};

void Cube_C(int *side) 
{
    return Cube.getVolume(*side);
}
阿德里安·摩尔(Adrian Mole):

您可以在static没有实例的情况下调用类的成员函数:只需在成员函数名之前添加类名,然后在作用域解析运算符::)之前添加(而不是.您尝试过的类成员运算符)。

此外,在你的Cube_C功能,你应该取消引用side指针,因为getVolume函数需要一个int *指针作为其参数。并且您需要将该函数的返回类型声明为int(不是void):

int Cube_C(int *side) 
{
    return Cube::getVolume(side);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

装饰器调用没有类实例化的类方法?

在许多类中实现的 C# 调用接口方法没有这些类的实例

排序没有实例化的类方法

类没有实例方法`call`

类“ String”没有实例方法“ map”

Firestore类“ QuerySnapshot”没有实例方法“ []”

类“String”没有实例方法“-”

NoSuchMethodError:类'FlutterError'没有实例获取方法'code'。接收方:“ FlutterError”实例尝试调用:代码)

类“ QueryDocumentSnapshot”没有实例方法“ []”。接收方:“ QueryDocumentSnapshot”的实例尝试调用:[](“名称”)

在非静态方法中调用没有类实例的非静态方法

Bean实例化类的@PostConstruct没有被调用

我们可以从没有实例化的类中调用方法吗

类“ bool”没有实例方法“-”。接收方:true尝试调用:-(false)

从接口类调用实例方法

Python类实例化:在没有附带参数的情况下调用类意味着什么?

您将如何从类的所有实例中调用方法?

响应所有方法调用的Python类的实例

没有类实例化的 C# 语法

C ++类实例声明没有匹配功能

Dart类“ String”没有实例方法“ cast”

在没有实例的类对象上设置魔术方法?

Flutter Animation <Color>:类“ Color”没有实例方法“-”

“ E1101”-“类”的实例没有“方法”成员

类'List<DocumentSnapshot>' 在 Flutter 中没有实例方法 'call'

类“ Timestamp”没有实例方法“ isAfter” Flutter

没有类实例化的命名空间方法

发生异常的类“UserSite”没有实例方法“[]”

从类方法调用实例方法 - Ruby

在Python的类方法中调用实例方法