1

我在 Visual Studio 中使用 Visual Micro 创建了一个项目。想不通这个问题。我有这个 TestClass.h 文件

#pragma once

#include <map>
#include "Arduino.h"

class TestClass
{
private:
    std::map<unsigned,unsigned> umm;
    std::map<int,int> mmm;
public:
    TestClass(void);
    ~TestClass(void);
};

此代码给出以下错误:

> Compiling 'testPrj' for 'Arduino Uno' TestClass.cpp : In file included
> from TestClass.h : ISO C++ forbids declaration of 'map' with no type
> TestClass.h : ' TestClass.h : expected ';' before '<' token
> TestClass.h : ISO C++ forbids declaration of 'map' with no type
> TestClass.h : ' TestClass.h : expected ';' before '<' token Error
> compiling

我究竟做错了什么?

4

1 回答 1

0

默认情况下,Arduino 不支持 STL,因此您不能使用 STL 数据结构。

正如 tzerb 指出的那样。AVR 有一个 STL 的实现(安装说明)。我没有使用它,所以我不能告诉你它是否有任何好处。

于 2013-07-31T17:13:49.820 回答