无法识别接口
Interface not recognized
我有一个在自己的头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;
};
每当我包含这个标题并尝试使用接口时,例如:
#include "MyInterface.h"
void someMethod(){
MyInterface *interface;
}
我收到奇怪的编译错误:
错误C2332:"struct":缺少标记名
错误C2011:"<未命名标记>':'enum'类型重新定义
错误C2226:语法错误:意外类型"<未命名标签>'
我的代码出了什么问题?
编辑:收割台包括防护装置。我使用Eclipse CDT和Microsoft编译器。
整个标题:
#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
以及它用于的类别:
#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"是另一个类,它的使用没有任何问题。
问题是字符串"interface"在ObjBase.h中是typedef’ed。所以我不能使用"interface"作为标识符。如果我使用另一个字符串作为标识符,它可以正常工作。
相关文章:
- 提升 ASIO 无法识别计时器对象
- 从udp接收帧对于人脸识别来说太慢
- 模板类无法识别友元运算符
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- Visual C++GC接口如何启用它以及要包含哪个库
- std::visit无法识别类型
- Windows.h与GLFW.h的接口
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 提供与TMP和SFINAE的通用接口
- 为重写std::exception的库生成swig接口时出错
- 内联如何影响模块接口中的成员函数
- 无法识别模板功能
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 如何在LLVM中dyn_cast以识别StoreInst?
- COM 接口 c# 封送数组数组
- 如何在 SCIP C++ 接口中获取 MILP 约束矩阵中的系数值
- 重载 -> shared_ptr 个实例中的箭头运算符<interface>,接口中没有纯虚拟析构函数
- C++接口实现和子类化对象识别
- 编译器无法识别实现文件中的类成员函数类型,但在接口文件中已识别
- 无法识别接口