在MIDI.h中定义了一个类库(我不能/不应该更改):
template<class SerialPort, class _Settings = DefaultSettings>
class MidiInterface
{
...
我想用这个类作为参数。 问题question是重复的,但我仍然遇到编译错误。
我自己的标题类文件如下所示:
#include <MIDI.h>
class M
{
public:
void setup();
void run();
private:
void printMessage(const MidiInterface<SerialPort, _Settings>&
midiInterface);
};
我收到以下错误:
在sketch \ M.cpp:1:0:
中包含的文件中M.h:10: error: 'MidiInterface' does not name a type
void printMessage(const MidiInterface<SerialPort, _Settings>& midiInterface);
^
M.h:10: error: expected ',' or '...' before '<' token
void printMessage(const MidiInterface<SerialPort, _Settings>& midiInterface);
^
exit status 1
'MidiInterface' does not name a type
如何更改代码以便编译?
答案 0 :(得分:1)
看起来this code中的MIDI.h将所有内容都放在命名空间中。如果这是您正在使用的内容,请尝试MIDI_NAMESPACE::MidiInterface<SerialPort, _Settings>
。