调试时提示“无法计算表达式”?
如题,代码如下:
头文件:
#ifndef INFO
#define INFO
struct productInfo
{
productInfo(){machineNum = 0;productAbility = 0; needTime = 0;}
int machineNum;
float productAbility;
float needTime;
};
class Manager
{
public:
Manager();
~Manager();
void inputMessage();
float computeTime();
private:
int total;
int N;
productInfo* info;
};
#endif
源文件:
#include "stdafx.h"
#include "Header.h"
#include <iostream>
using namespace std;
Manager::Manager():N(0),total(0)
{
info = new productInfo[N];
}
Manager::~Manager()
{
delete[] info;
}
void Manager::inputMessage()
{
cout<<"请输入要生产多少件产品:"<<endl;
cin>>total;
cin.clear(); //清除缓存区
cout<<"请输入成品所需的工序数:"<<endl;
cin>>N;
cin.clear(); //清除缓存区
cout<<"共要经过"<<N<<"次工序,请依次输入的机器编号~生产能力 :"<<endl;
for (int i=0; i<N; ++i)
{
cin>>info[i].machineNum>>info[i].productAbility;
}
}
float Manager::computeTime()
{
for (int i=0; i<N; ++i)
{
info[i].needTime = total/info[i].productAbility;
cout<<"第"<<i+1<<"道工序所需的天数为 :"<<info[i].needTime<<endl;
}
return false;
}
int _tmain(int argc, _TCHAR* argv[])
{
Manager* manager = new Manager();
manager->inputMessage();
manager->computeTime();
return 0;
}
我在构造函数里设置断点调试。发现红色标注的这行的 info 的三个形参都提示“无法计算表达式”!
请大家告知,谢谢!