C ++“未在此范围内声明”编译错误和修改提示

时间:2009-12-29 01:28:38

标签: c++ accelerometer arduino atmega

4 个答案:

答案 0 :(得分:4)

您很可能为您的构建指定了错误的MCU。虽然DDRA存在于Arduino Mega的ATmega1280上,但是常规Arduino的ATmega328上不存在DDRA。

如果您使用的是Arduino UI,请转到工具|登上并选择Arduino Mega。

如果您使用自己的构建系统,则需要在gcc命令行上更新为-mmcu =指定的值。

答案 1 :(得分:2)

我想你可能在这里留下了结束评论:

/*The level value is from -1 to +1 and represents the duty cycle to be sent to the motor. Converting to radians helps us stay within these limits >>>*/<<<

答案 2 :(得分:0)

当编译器告诉你某个“​​未在此范围内声明”时,你自己就是这个问题:

的范围是什么?

如果你无法回答这个问题,那么你就发现了这个问题。毕竟,如果不知道该名称是指什么,你怎么能期望编译器?请记住,所写的任何代码的专家。

如果可以确定声明事物的范围,那么下一个任务是确定该范围与您尝试使用它的范围的关系。典型问题包括(但不限于)以下内容:

  • 它在其他名称空间中声明。使用::范围解析运算符来提供完全限定的名称。
  • 它被声明为类的成员,并且您尝试在独立函数中使用它。找到类的实例并通过该对象访问变量或函数,或者更改类以使您的新函数成为其成员之一。

如果无法找到声明的范围,那么可能会出现一些错误:

  • 你拼错了。检查文档中的拼写并修复代码。
  • 在某些标题中声明了您忘记包含的内容。找出它声明的位置并添加适当的#include指令。 这可能是您遇到的问题。
  • 它没有在任何地方宣布。弄清楚应该声明的位置并在那里自己声明。

答案 3 :(得分:-1)

这是一个用于控制DIY Segway的相当简单的Arduino代码的链接。

我认为这对你的滑板来说是一个更好的起点。

http://diysegway.blogspot.com/

祝福

约翰