这可能很简单,但我无法理解。
在我的main.cpp中我有:
Image image("/path/to/image.png");
int* h = ImageProcessor::dailyPrices(image);
在我的ImageProcessor.h中,我有:
//Maybe something is wrong with this? I am trying to forward declare.
namespace Magick
{
class Image;
}
class ImageProcessor {
public:
ImageProcessor();
virtual ~ImageProcessor();
static int* dailyPrices(const Magick::Image& abp_chart);
};
在ImageProcessor.cpp中我有
int* dailyPrices(const Image& abp_chart)
{
但是在尝试编译时,我在main.cpp中收到以下错误:
path/to/VendBot.cpp:17: undefined reference to `ImageProcessor::dailyPrices(Magick::Image const&)'
答案 0 :(得分:4)
定义dailyPrices
函数时缺少类名:
int* ImageProcessor::dailyPrices(const Image& abp_chart)
// ______________^
{
//
}
答案 1 :(得分:0)
您需要在方法定义中添加ImageProcessor::
:
int* ImageProcessor::dailyPrices(const Image& abp_chart)
^^^^^^^^^^^^^^^^
答案 2 :(得分:0)
dailyPrices需要位于ImageProcessor命名空间中:
int* ImageProcessor::dailyPrices(const Image& abp_chart)