unsigned char のベクトルへのポインターを渡す関数があります。
関数内の値の 1 つを取得する方法を教えてください。
double CApp::GetCost(unsigned char *uBytes)
{
unsigned char iHP;
iHP=uBytes[49]; //this does not work
}
編集: 申し訳ありませんが、最初はコードを簡素化する必要があると考えていましたが、やりすぎるとうまくいかない可能性があると思います。これが実際の宣言です。
// ---------------------------------------
struct ByteFeature
{
unsigned char Features[52];
};
class clsByteFeatures : public CBaseStructure
{
private:
vector<ByteFeature> m_content;
protected:
virtual void ProcessTxtLine(string line);
public:
vector<ByteFeature> &Content();
void Add(ByteFeature &bf);
};
vector<ByteFeature> &clsByteFeatures::Content()
{
return m_content;
}
そして、これが私がそれを使用する方法です:
dblTargetCost = GetCost(m_ByteFeatures.Content()[iUnitID].Features);
別の質問: このように単純にベクトルを渡すのは良くないでしょうか?
double CApp::GetCost(vector<unsigned char> &uBytes)
{
//...
}