成员类声明问题
member class declaration issues
我的类成员和我的声明有问题。第一段代码是"kdtilemapper.h"的头文件
#ifndef _KDTILEMAPPER_H
#define _KDTILEMAPPER_H
#include "tilemapper.h"
#include "kdtree.h"
class KDTileMapper : public TileMapper{
public:
KDTileMapper( const SourceImage & si,const vector<TileImage> & tiles);
~KDTileMapper();
KDTileMapper(const KDTileMapper & rhs);
KDTileMapper const & operator=(KDTileMapper const & rhs);
int map_tiles(MosaicCanvas & mosaicOut) const;
private:
};
#endif /* _KDTILEMAPPER_H */
下面的代码段是有问题的编码星号行是我在编译中没有声明"tiles"answers"tiles"不在成员类中的错误。
#include "kdtilemapper.h"
#include "kdtree.h"
KDTileMapper::KDTileMapper(const SourceImage & si, const vector<TileImage> & tiles):TileMapper(si,tiles)
{
//TileMapper(si,tiles);
//tileMapKDT=NULL;
}
KDTileMapper::~KDTileMapper(){
}
KDTileMapper::KDTileMapper(const KDTileMapper & rhs):TileMapper(rhs)
{
source = rhs.source;
**tiles = rhs.tiles;** //tiles not declared and not member of const class KDTileMapper
}
KDTileMapper const & KDTileMapper::operator=(KDTileMapper const & rhs)
{
source = rhs.source;
**tiles= rhs.tiles;** //tiles not declared and not member of const class KDTileMapper
return *this;
}
int KDTileMapper::map_tiles(MosaicCanvas & mosaicOut) const{
int check1;
TileImage tempTile1;
TileImage tempTile2;
int rows=source.get_rows();
int columns=source.get_columns();
**if(tiles.empty() || rows<0 || colums<0)** //tiles not declared, neither colums
return -1;
**KDTree<TileImage>* tileMapKDT= new KDTree<TileImage>(tiles[0].get_num_levels());**
//tiles above is not declared
for(int j=0;j< (int)tiles.size();j++)
{
if(!tiles[j].is_valid())
return -1;
}
check1= tileMapKDT->create_tree(tiles);
if(check1<0)
return -1;
mosaicOut=MosaicCanvas(rows,columns);
for(int i=0;i<rows;i++)
{
for(int j=0;j<columns;j++)
{
tempTile1=TileImage(source.get_region_color(i,j));
tempTile2=tileMapKDT->find_nearest_neighbor(tempTile1);
mosaicOut.set_tile(i,j,tempTile2);
}
}
return 0;
}
是否在TileMapper
中声明tiles
为私有的?如果是这种情况,你应该将它声明为public或protected,以便子类可以访问它。
相关文章:
- Visual Studio中的函数声明和函数定义问题
- 如何在标头中声明(或定义)函数的问题
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 我在范围内未声明的错误类有问题
- 使用静态成员声明类时遇到问题
- 为<vtkDataArray> VTK 非结构化网格声明 vtkSmartPointer 类型的变量时出现问题
- GLUT 问题:重新声明 c++ 内置类型'wchar_t'时出错
- 如何解决这个正向类声明问题
- public:静态常量字符串声明/初始化问题
- C++ Windows.h 的问题,在 vs17 中非法声明匿名'struct'
- 如何将char数组声明为函数参数?或告诉我此代码中还有其他问题?
- 使用 C++17 扩展使用声明时出现问题
- 我在C++程序中声明变量时遇到问题
- 我在 c++ 中声明字符串类型时遇到问题
- 在函数本身而不是在主函数中声明由参数限定的变量有什么问题?
- 单独的类声明和方法定义文件问题
- 类中成员函数声明的问题
- C++ 03 类模板 这是转换构造函数还是转换运算符?以及如何声明解决此问题的方法
- 特征张量的问题:声明矛盾
- C++问题:声明冲突