【发布时间】:2018-08-28 20:30:50
【问题描述】:
我希望让重复编程变得更容易一些。该程序根据制造商程序指南告诉电机旋转。当前代码将声明:
motorname.spin(originallib::directionType::fwd, speed, originallib::velocityUnits::pct);
我想能够说:
int main()
{
run(LeftFront,80);
run(RightFront,80);
}
void run(string motorname, double speed )
{
motorname.spin(originallib::directionType::fwd, speed, originallib::velocityUnits::pct);
}
LeftFront 和 RightFront 已在之前的头文件中声明为
originallib::motor LeftFront=originallib::motor(originallib::PORT2,
originallib::gearSetting::ratio18_1,
true);
我遇到的问题是:
“错误:'std::basic_string'中没有名为'spin'的成员”
因为motorname.spin..... 是原始库的一部分
我该如何实现这一目标?
【问题讨论】:
-
void run(string motorname, double speed )告诉编译器motorname是std::string,而不是它应该是的任何类。你想要void run(SomeClassHere motorname, double speed ) -
LeftFront和RightFront的类型是什么?
-
这是它们在标题中的定义方式:
originallib::motor LeftFront=originallib::motor(originallib::PORT2,originallib::gearSetting::ratio18_1,true);