在下面的代码块中,我想重构,所以我返回一个由三个指针组成的数组,指向一个双精度向量。作为最好的方法,我有点困惑。
如果遇到错误,我还希望它可以很容易地从调用函数中检测到。
我是否需要将 vCase var 转换为:
std::vector<double>[3] vCases
// or
double[3] vCases
还有什么正确的函数定义呢?我了解了数组的基础知识,我有一个嵌套向量的事实让我大吃一惊!
感激地收到任何帮助。
std::vector<std::vector<double> > TrainingCases::getCase(int caseNo) {
std::vector<std::vector<double> > vCase;
if (caseNo > vInputs.size()) {
std::cout << "TrainingCases Error: Out of range caseNo selected. " << std::endl;
return vCase;
} else {
vCase.push_back(vInputs.at(caseNo));
vCase.push_back(vTargets.at(caseNo));
vCase.push_back(vScoreModifiers.at(caseNo));
return vCase;
}
}