我有这个表变量:
/// Place all your sensors in this table
static DetectionSensor *DetectionSensors[] = {
&Sensor200BP203,
&SensorXXXX,
}
我把它传递给方法:
DetectionThread.create((void*)DetectionSensors);
在我的DetectionThread中,我有这个成员:
private :
DetectionSensor *pDetectionSensors[];
在DetectionThread的方法中,我想像这样抛出我的论点:
void Detection::setup()
{
*this->pDetectionSensors = ((DetectionSensor *)this->parameters);
}
当我执行我的程序时,我有一个错误......
答案 0 :(得分:1)
您的代码不清楚。一方面,您谈论方法create
另一方面,您展示方法setup
。那么create
和serup
之间的关系是什么?什么是参数类型?
在任何情况下,您的代码都不会被编译,因为您可能无法定义不完整的非静态数据成员。所以这个定义
private :
DetectionSensor *pDetectionSensors[];
错了。
考虑到通过值作为参数传递的DetectionSensors的类型是
DetectionSensor **pDetectionSensors;
您可能无法为阵列分配地址。