首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法识别接口

无法识别接口
EN

Stack Overflow用户
提问于 2012-03-10 00:29:13
回答 1查看 3.1K关注 0票数 4

我在自己的头文件MyInterface.h中声明了一个接口:

代码语言:javascript
复制
class MyInterface{
public:
    virtual ~MyInterface(){}
    virtual void initialize() = 0;
    virtual void newValueSound(int stream, double value) = 0;
    virtual void newValueAlg1(int stream, double value) = 0;
    virtual void newValueAlg2(int stream, double value) = 0;
};

每当我包含此标头并尝试使用该接口时,例如:

代码语言:javascript
复制
#include "MyInterface.h"

void someMethod(){
    MyInterface *interface;
}

我在代码行上收到奇怪的编译错误:

错误结构:‘C2332’:缺少标记名

错误枚举:'‘:’C2011‘类型重定义

错误C2226:语法错误:意外类型'‘

我的代码出了什么问题?

编辑:标题包含防护。我使用Eclipse CDT和Microsoft编译器。

整个头部:

代码语言:javascript
复制
#ifndef MYINTERFACE_H_
#define MYINTERFACE_H_

class MyInterface{
public:
    virtual ~MyInterface(){}
    virtual void initialize() = 0;
    virtual void newValueSound(int stream, double value) = 0;
    virtual void newValueAlg1(int stream, double value) = 0;
    virtual void newValueAlg2(int stream, double value) = 0;
};

#endif

以及它所在的类:

代码语言:javascript
复制
#ifndef MAIN_H_
#define MAIN_H_

#include <asio.h>
#include "Stream.h"
#include "MyInterface.h"

class MicApp {
private:
    long inputChannelCount;
    Stream **streams;
    MyInterface *interface;
public:
    MicApp(MyInterface *interface);
    void initializeASIODrivers();
    char **getDriverNames(int *numberOfDrivers);
    bool loadDriver(char *driverName);
    ASIOError initDriver(ASIODriverInfo *asioDriverInfo);
    long getChannelCount();
    double getSampleRate();
    void activateStream(bool activate, int stream);
    ASIOError startASIO();
    ASIOError stopASIO();
    ASIOError exitDriver();
};

#endif

请注意,"Stream“是另一个类,它的使用没有任何问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-14 22:12:01

问题是字符串"interface“在ObjBase.h中是类型定义的。所以我不能使用"interface“作为标识符。如果我使用另一个字符串作为标识符,它可以正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9637566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档