/* c++ file */
extern "C"
{
#include "Param.h"
#include "manager.h"
}
void Manager::Init(){
struct config pParam;
memset(&pParam, 0, sizeof(pParam));
pParam.pulse = 123;
pParam.rotation = 567;
Parameters(&pParam);
}
/* c file */
int max_pulse = 0, rotation = 0;
void Parameters(const struct config *p_param)
{
max_pulse = p_param->pulse; // assign the wrong data here
rotation = p_param->rotation; // assign the wrong data here
}
それは非常に奇妙な問題です。
configはParam.hで定義され、managerクラスはmanager.hファイルで定義されます。
コードを実行した後、max-pulse=567およびrotation=0を取得しています。このコードでこれが発生している理由がわかりません。Visual Studio2008Expressを使用しています。
誰かがこの問題を解決するのを手伝ってもらえますか?