Serial.print()使用哪种类型的变量?

bla*_*kel 2 arduino arduino-ide arduino-c++

在arduino上,我需要在类似以下函数中使用Serial.print():

void loop()
{
    serial_send(any_type);
}

void serial_send(type message)
{
   Serial.print(message);
}
Run Code Online (Sandbox Code Playgroud)

Serial.print可以接受任何类型的变量,例如,作为intdoubleString。如何获得相同的行为,serial_send所以不必指定类型?

Nat*_*ica 5

这就是模板的用途。使用

template <typename T>
void serial_send(T message)
{
   Serial.print(message);
}
Run Code Online (Sandbox Code Playgroud)

您可以send_message使用任何所需的类型进行调用,只要print有重载就可以使用。如果没有,您将收到错误消息,因为没有匹配的调用print