我的头文件的公共部分有以下结构和方法:
struct InputtedInstructions
{
string name;
string arg1;
string arg2;
string arg3;
};
InputtedInstructions get_instruction(vector<string>& text, int count);
然后在我的 cpp 文件中:
Instructions::InputtedInstructions Instructions::get_instruction(vector<string>& vec, int counter)
{
int ListPosition = 0;
InputtedInstructions* InputList = new InputtedInstructions[counter];
while (ListPosition != counter)
{
string text = vec.at(ListPosition);
istringstream iss(text);
string command, arg1, arg2, arg3;
int CommaAmount = count(text.begin(), text.end(), ',');
if (CommaAmount == 2)
{
while( iss >> command >> arg1 >> arg2 >> arg3)
{
InputList[ListPosition].name = command;
InputList[ListPosition].arg1 = arg1;
InputList[ListPosition].arg2 = arg2;
InputList[ListPosition].arg3 = arg3;
ListPosition++;
}
}
//same thingfor 3 commas, 4, etc.
return InputList;
我的问题在于那里的退货声明。它希望我将 [] 添加到它的末尾。但我想返回整个 InputList 数组。有什么明显的我做错了吗?谢谢你的帮助。