我知道...基础知识,但我不明白。我读到我可以将我的函数定义放在我的标题中,然后包含它。到目前为止,我从未这样做过,因为我喜欢我在 .cpp 文件中的定义,与它在头文件中的声明分开。
现在我只有两个函数,我不想要这些定义的额外文件。
头文件.h
const QString reviewToString(const int); //Declaration - do I even need it now?
const QString statusToString(const int); //Declaration - do I even need it now?
const QString reviewToString(const int r) //Definition
{
switch(r)
{
case 0:
return "Excellent";
case 1:
return "Great";
case 2:
return "Okay";
case 3:
return "Poor";
case 4:
return "Terrible";
default:
return "Unknown";
}
}
const QString statusToString(const int s) //Definition
{
switch(s)
{
case 0:
return "Watched";
case 1:
return "Bought";
default:
return "Not Watched";
}
}
这是我的头文件的摘录。我得到了一些其他enum
的 s 和struct
s 但它们对于这些函数并不那么重要,因为它们只是将一个整数转换为一个 QString ,它将显示在其他地方。我也有一个包含警卫。
现在我得到了很多像这样的错误:
'reviewToString(int)' 的多重定义
这是为什么?为什么我不能在此标头中声明和/或定义它们?