4
錯誤「公共成員的簽名包含本機類型」我想創建一個支持Windows Phone 8的運行時組件。我有一個C++源代碼,目前它不支持Windows Phone 8,所以我將它們轉換爲Windows Phone運行時組件以使其可以與Windows Phone一起使用。WinPRT
現在的問題是我已經創造了他們,但顯示錯誤在下面,
#pragma once
#include "Encoder.h"
namespace YakPRT
{
public ref class YakPRTComponent sealed
{
public:
YakPRTComponent();
void yakEncode(paTestData *yakData, uint8_t *rawData, int rawDataSize);
void EncodeData(paTestData *yakData, uint8_t *rawData, int rawDataSize);
void signalHandler(int signum);
int yakRecordCallback(const void *inputBuffer, void *outputBuffer,
unsigned long framesPerBuffer,
const StreamCallbackTimeInfo* timeInfo,
StreamCallbackFlags statusFlags,
void *userData);
PaError yakAudioStreamOpen(paTestData *yakData);
PaError yakAudioStreamStart(paTestData *yakData);
PaError isYakAudioStreamNotStopped(paTestData *yakData);
PaError yakCloseAudioStream(paTestData *yakData);
private:
Encoder *_encoder;
};
}
以下錯誤從上面的代碼來了,
錯誤C3987:「yakEncode」:公共簽名成員包含原生型 'paTestData *'
錯誤C3992: 'getYakCodec':公衆成員的簽名包含無效的類型
注:paTestDa TA是一個結構,
typedef struct
{
int frameIndex; /* Index into sample array. */
FILE *recFileStream; /* Record the stream into File */
uint8_t *encoderOutput;
int allocOutputSize; /* memory size allocated */
int encoderOutputSize;
PaStream *recordStream; /* PaStream opened to record Audio callback. */
AVContext *c;
} paTestData;
我不擅長使用C++,會有人請我說這是什麼錯誤,以及如何糾正這一點。 。