C++ 无法访问类';Windows::Devices::Sensors::加速计';
我有以下代码: 加速计DELEGATE.hC++ 无法访问类';Windows::Devices::Sensors::加速计';,c++,windows-phone-8,accelerometer,C++,Windows Phone 8,Accelerometer,我有以下代码: 加速计DELEGATE.h #pragma once #include "pch.h" using Windows::Devices::Sensors::Accelerometer; using Windows::Devices::Sensors::AccelerometerReading; ref class AccelerometerDelegate sealed { public: double GetX(); double GetY(); do
#pragma once
#include "pch.h"
using Windows::Devices::Sensors::Accelerometer;
using Windows::Devices::Sensors::AccelerometerReading;
ref class AccelerometerDelegate sealed
{
public:
double GetX();
double GetY();
double GetZ();
AccelerometerDelegate();
void GetCurrentReading();
private:
Accelerometer ^ accelerometer;
AccelerometerReading ^ accelerometerReading;
};
#pragma once
#include "pch.h"
#include "CubeRenderer.h"
#include "AccelerometerDelegate.h"
ref class Game sealed : public Windows::ApplicationModel::Core::IFrameworkView
{
public:
Game();
...
private:
AccelerometerDelegate ^ accelerometer;
...
};
加速计数据传输.cpp
#include "pch.h"
#include "AccelerometerDelegate.h"
AccelerometerDelegate::AccelerometerDelegate()
{
accelerometer = ref new Accelerometer();
}
void AccelerometerDelegate::GetCurrentReading()
{
accelerometerReading = accelerometer->GetCurrentReading();
}
double AccelerometerDelegate::GetX()
{
return accelerometerReading->AccelerationX;
}
double AccelerometerDelegate::GetY()
{
return accelerometerReading->AccelerationY;
}
double AccelerometerDelegate::GetZ()
{
return accelerometerReading->AccelerationZ;
}
void Game::Initialize(CoreApplicationView^ applicationView)
{
...
accelerometer = ref new AccelerometerDelegate();
}
构造声明引发编译错误:
Error 1 error C2248: 'Windows::Devices::Sensors::Accelerometer::Accelerometer' : cannot access private member declared in class 'Windows::Devices::Sensors::Accelerometer'
我在游戏课上称之为:
Game.h
#pragma once
#include "pch.h"
using Windows::Devices::Sensors::Accelerometer;
using Windows::Devices::Sensors::AccelerometerReading;
ref class AccelerometerDelegate sealed
{
public:
double GetX();
double GetY();
double GetZ();
AccelerometerDelegate();
void GetCurrentReading();
private:
Accelerometer ^ accelerometer;
AccelerometerReading ^ accelerometerReading;
};
#pragma once
#include "pch.h"
#include "CubeRenderer.h"
#include "AccelerometerDelegate.h"
ref class Game sealed : public Windows::ApplicationModel::Core::IFrameworkView
{
public:
Game();
...
private:
AccelerometerDelegate ^ accelerometer;
...
};
Game.cpp
#include "pch.h"
#include "AccelerometerDelegate.h"
AccelerometerDelegate::AccelerometerDelegate()
{
accelerometer = ref new Accelerometer();
}
void AccelerometerDelegate::GetCurrentReading()
{
accelerometerReading = accelerometer->GetCurrentReading();
}
double AccelerometerDelegate::GetX()
{
return accelerometerReading->AccelerationX;
}
double AccelerometerDelegate::GetY()
{
return accelerometerReading->AccelerationY;
}
double AccelerometerDelegate::GetZ()
{
return accelerometerReading->AccelerationZ;
}
void Game::Initialize(CoreApplicationView^ applicationView)
{
...
accelerometer = ref new AccelerometerDelegate();
}
你知道为什么会这样吗
- 加速计内置在windows phone命名空间中:windows::Devices::Sensors
- 其声明如下:
public : ref class Accelerometer sealed Member of Windows::Devices::Sensors Summary: Represents an accelerometer sensor. Attributes: [Windows::Foundation::Metadata::DualApiPartitionAttribute(version = 100794368), Windows::Foundation::Metadata::VersionAttribute]
Accelerator::GetDefault()检索它。
看