Я пытаюсь добавить одну функцию в классе, который находится в сгруппированном пространстве имен, я добавляю объявление функции в классе, который является файлом .h, и я определяю функцию в файле .cpp, и пытаюсь вызвать этоиз другой функции в том же классе.когда я пытаюсь скомпилировать целое, возникает проблема, при этом такая функция не объявляется в области видимости.fyi - это источник Android, в котором мы пытаемся добавить функцию в одну библиотеку, пожалуйста, предложите, нужно ли нам добавлять объявление функции в каких-либо других местах для этого пространства имен.* CameraHardware.h:
namespace android
{
class CameraHardware : public CameraHardwareInterface
{
public:
void my_mCamera(); //Added new function
virtual sp<IMemoryHeap> getPreviewHeap() const;
virtual sp<IMemoryHeap> getRawHeap() const;
// other required function
};
};
CameraHardware.cpp
void CameraHardware::setZoom(const CameraParameters & params)
{
my_mCamera(); // new Function
LOGE("surya: inside setZoom function");
LOGV("surya: mParameters.KEY_ZOOM=%d",mParameters.KEY_ZOOM);
if (mParameters.get(mParameters.KEY_ZOOM) == NULL)
{
LOGE("%s Error! mParameters.KEY_ZOOM == NULL", _FUNCTION_);
return;
}
if ((mParameters.getInt("zoom") != mPreviousZoom))
{
LOGE("surya: checking for previous zoom");
if (mCamera)
{
LOGE("surya: looking for CameraObject in set zoom");
cam_parm.zoom = mCamera->convert_zoom(params);
mCamera->setZoom(&cam_parm);
}
}
LOGE("surya: working with previous zoom");
mPreviousZoom = mParameters.getInt("zoom");
}
//-------------------creating mBroadcomCamera :surya----------------
void CameraHardware::my_mCamera()
{
LOGV("surya; creating mCameraObject");
int preview_width=320, preview_height=240;
mCamera = new MyCamera(preview_width, preview_height, 0); // constructor of other class which is in the same namespace
}