[英](Error) no match for 'operator>>' in 'std::cout >> namesArray(counter)(0)'
我真的迷失了为什么我对这个特定的数组索引出错。 我正在编写一个程序,该程序需要从文本文件输入学生成绩。 该文件是10行,每行2列,格式为(名字,姓氏,等级1,等级2,等级3,等级4,等级5)。 在执行期间,我需要逐行遍历文件,并将名称放入自己的10行乘2列,并将成绩放入自己的10行乘5列。 这是一个阶级问题,Idk我们为什么要这样做。 基本上,数据将在循环期间拆分并加载到namesArray和gradesArray中。 我已经在IDE中标识的错误行的两侧和行位置都标有*
最后,这是我的代码:
//Student Name: Jacob Gillespie
//Date: 10/20/13
//Program: Student Grade Manipulation
//Summary: Reads in grade data from text file, manipulates data
//and stores data back in output file
//Headers
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
//Declare variables and arrays
ifstream inData;
ofstream outData;
string namesArray[10][2];
string gradesArray[10][5];
//Main Program Execution
int main()
{
//Open the data file containing the student names and grades
inData.open("StudentGrades.txt");
//Read data lines and assign student names to namesArray and grades to gradesArray
for (int counter = 0; counter < 10; counter++)
inData >> namesArray[counter][0] >> namesArray[counter][1]
>> gradesArray[counter][0] >> gradesArray[counter][1] >> gradesArray[counter][2]
>> gradesArray[counter][3] >> gradesArray [counter][4];
//TESTING, Print namesArray and gradesArray to ensure values are loaded and assigned correctly
for (int counter = 0; counter < 10; counter++)
*****cout >> namesArray[counter][***0***] >> " " >> namesArray[counter][1] >> endl;*****
for (int counter = 0; counter < 10; counter++)
cout >> gradesArray[counter][0] >> " " >> gradesArray[counter][1] >> " " >> gradesArray[counter][2]
" " >> gradesArray[counter][3] >> " "gradesArray [counter][4] >> endl;
return 0;
}
cout >> ... >> .. >> ...;
应该
cout << ... << .. << ...;
考虑将数据放入输出流,因此数据应该流向输出流。
cout
作为输出流的运算符是<<
。
+--------+
| |
| cout | <<----- data
| |
+--------+
+--------+
| |
| cin | ----->> data
| |
+--------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.