【发布时间】:2020-12-11 18:03:02
【问题描述】:
我在代码的第 58 行有一个错误:Robot robot = robot(seglist[0]...) 我尝试了不同的方法,但没有任何效果。我需要将 txt 文件中的数字放入向量中,然后分配 robotsNum、RobotTeam、robotPosX 和 robotPosY 的值。 希望有人可以帮助我。
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <sstream>
#include <cstring>
#include <vector>
struct Robot {
std::string robotNum;
std::string robotTeam;
std::string robotPosX;
std::string robotPosY;
public:
Robot(string robotNum = "empty", string robotTeam = "empty", string robotPosX = "empty", string robotPosY = "empty") {
this->robotNum = robotNum;
this->robotTeam = robotTeam;
this->robotPosX = robotPosX;
this->robotPosY = robotPosY;
}
};
using namespace std;
string* sortArray(string* myArray) {
//cout << "pingas";
//cout << myArray[6];
return myArray;
}
int main()
{
ifstream myfile;
myfile.open("start.txt");
string line;
std::vector<Robot> myArray;
while (getline(myfile, line))
{
std::istringstream iss(line);
string line;
std::string segment;
std::vector<std::string> seglist;
while (std::getline(iss, segment, ','))
{
seglist.push_back(segment);
}
Robot robot = Robot(seglist[0], seglist[1], seglist[2], seglist[3]);
myArray.push_back(robot);
cout << "\n";
}
if (myfile.is_open()) {
string myArray[2];
for (int i = 0; i < 1; i++)
{
myfile >> myArray[i];
}
//string* arraySorted = sortArray(myArray);
sort(myArray->begin(), myArray->end(), greater<int>());
//for (auto& elem : myArray)
// cout << elem << " - " << endl;
}
//cout << myArray[];
myfile.close();
return 0;
}
【问题讨论】:
-
Robot robot(seglist[0]...甚至删除整个中间对象并执行myArray.emplace_back(seglist[0]... -
您正在组合
和 ...您认为这是个好主意吗?
标签: c++