gpt4 book ai didi

C++ 和 Objective-c

转载 作者:行者123 更新时间:2023-11-30 02:08:27 25 4
gpt4 key购买 nike

我构建了一个静态库,并将.h文件添加到我的项目中,

.h 文件的所有类中,都是这样的:

class StartOp
{
static void openFiles(WavInFile **inFile, WavOutFile **outFile, const RunParameters *params);
static void setup(SoundTouch *pSoundTouch, const WavInFile *inFile, const RunParameters *params);
static void process(SoundTouch *pSoundTouch, WavInFile *inFile, WavOutFile *outFile);
static void detectBPM(WavInFile *inFile, RunParameters *params);
int start(const int nParams, const char * const paramStr[]);
};

我遇到了这个错误:

StartOp.h:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'StartOp'

**编辑**

我通过将文件 ex 更改为 mm 来解决这个问题。现在我想使用这段代码,我想从这个类中调用,这段代码是一个 C++ 类,我想从一个 objective-c 类中调用他:

#ifndef _STARTOP_H_
#define _STARTOP_H_

namespace soundtouch
{

class StartOp
{
static void openFiles(WavInFile **inFile, WavOutFile **outFile, const RunParameters *params);
static void setup(SoundTouch *pSoundTouch, const WavInFile *inFile, const RunParameters *params);
static void process(SoundTouch *pSoundTouch, WavInFile *inFile, WavOutFile *outFile);
static void detectBPM(WavInFile *inFile, RunParameters *params);
static int start(const int nParams, const char * const paramStr[]);
};
}



#endif

static int start(const int nParams, const char * const paramStr[]);

我的 objective-c iphone 应用程序中的方法。

最佳答案

您发布的代码不是 C;它更像是 C++。

现在,Objective-C 和 C++ 可以互操作,但您需要使用 .mm Objective-C 端的扩展。

因此,如果您要导入 .h.文件到 .m文件,你会得到明显的错误,因为编译器不期望 class定义(C++)。如果您导入 .h文件到 .mm文件,你有一定的机会它会工作(如果所有其余的都是正确的,我的意思是)。

如果您需要更多帮助,请提供更多代码,以便我们更好地理解您在做什么。

关于C++ 和 Objective-c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6840985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com