我真的很困惑一个问题,为模块.h文件中的arduino项目带来映射。我以前在一个文件中都是一样的。编辑没有任何问题,颂歌运行完美。现在我把它放在模块.h文件中后出错:
'<'之前的构造函数,析构函数或类型转换令牌
代码的那部分:
std::map < std::string, btComands > mapStringBtComands;
我无法找出问题所在。
这是完整的.h:
// bluetooth.h
#ifndef _BLUETOOTH_h
#define _BLUETOOTH_h
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include <StandardCplusplus.h>
#include <map>
#include <string>
#ifdef BT_ENABLED
enum btComands
{
setPID = 1, // set PID parameters
getPID = 2, // send PID vlaues to bluetooth
stEEP = 3, // store parameters to EEPROM
setLD = 4, // activate Live date streaming to Bluetooth
setLog = 5, //activate Log streaming over Bluetooth
setMaxSpeed = 6 // define max allowed Speed
};
//initalisation of mapping for bluetooth GetCommand
std::map < std::string, btComands > mapStringBtComands;
void inline InitBtCommands()
{
mapStringBtComands["setPID"]=setPID;
mapStringBtComands["getPID"]=getPID;
mapStringBtComands["stEEP"]=stEEP;
mapStringBtComands["setLD"]=setLD;
mapStringBtComands["setLog"]=setLog;
mapStringBtComands["setMaxSpeed"]=setMaxSpeed;
}
#endif
#endif
我希望有人可以帮助我。
此致
安德烈亚斯