我试图从自定义类返回一个字符串并遇到问题。我意识到我不一定需要在课堂上做这些事情,但我正在努力学习和实验。谁能告诉我为什么它试图在返回时转换为 int ?如何返回字符串?
头文件
#ifndef LIGHTBOX_H
#define LIGHTBOX_H
#include <Arduino.h>
class Lightbox
{
private:
String audioTrack;
public:
getTrack();
};
#endif
类文件
#include "Lightbox.h"
//#include "Adafruit_Soundboard.h"
Lightbox::getTrack()
{
return audioTrack;
}
返回的错误是
Lightbox.cpp: In member function 'int Lightbox::getTrack()':
Lightbox.cpp:30:10: error: cannot convert 'String' to 'int' in return
return audioTrack;
^~~~~~~~~~
exit status 1
Compilation error: cannot convert 'String' to 'int' in return
我尝试在函数中分配一个临时字符串,这看起来与发送字符串是一样的。如果没有 return (audioTrack),代码就会编译。显然,这仍然是一项正在进行的工作,我没有包含我的主 ino 文件,因为它实际上还没有任何内容。
附注我很累...
在标头和源文件中将
String
设为 getTrack()
的返回类型。在这两个地方你都省略了返回类型。
#ifndef LIGHTBOX_H
#define LIGHTBOX_H
#include <Arduino.h>
class Lightbox
{
private:
String audioTrack;
public:
String getTrack();
};
#endif
在你的定义中是这样的:
String Lightbox::getTrack()
{
return audioTrack;
}