У меня есть класс под названием AI, у которого есть функция сохранения:
void save(string name) {
string fileName = "AIs/"+name+".AI";
ofstream mySave;
mySave.open(fileName);
mySave << "id\n" << id << "\n";
mySave << "pid\n" << pid << "\n";
mySave << "numInpNds\n" << numInpNds << "\n";
mySave << "numOutNds\n" << numOutNds << "\n";
mySave << "numLayers\n" << numLayers << "\n";
mySave << "layerSize\n";
for (int i = 0; i < numLayers; i++) {
mySave << layerSize[i] << "\n";
}
mySave << "inpLayer\n";
mySave << nurNet["inpLayer"]<<"\n";
for (int i = 0; i < numLayers; i++) {
mySave << "layer"+to_string(i+1)+"Weights\n";
mySave << nurNet["layer" + to_string(i + 1) + "Weights"] << "\n";
mySave << "layer" + to_string(i + 1) + "Biases\n";
mySave << nurNet["layer" + to_string(i + 1) + "Biases"] << "\n";
mySave << "layer" + to_string(i + 1) << "\n";
mySave << nurNet["layer" + to_string(i + 1)] << "\n";
}
mySave << "outLayerWeights\n";
mySave << nurNet["outLayerWeights"] << "\n";
mySave << "outLayerBiases\n";
mySave << nurNet["outLayerBiases"] << "\n";
mySave << "outLayer\n";
mySave << nurNet["outLayer"] << "\n";
mySave.close();
}
Это также вектор AI, называемый «AI». Я пытаюсь перебрать этот вектор и сохранить все AI:
for (int i = 0; i < settings["generationSize"]; i++) {;
AIs[i].save("AIs/" + to_string(i) + ".AI");
}
, когда я пытаюсь запустить свой код, он выводит эту ошибку:
binary '[': не найден оператор, который принимает левый операнд типа 'std :: vector' (или нет приемлемого преобразования)