его частично решенный, но берущий последнее целое число строки дважды. У кого-либо есть решение?
ifstream inputFile;
inputFile.open("lists.txt");
if( getline(inputFile, line);
istringstream list1_stream(line);
while (list1_stream)
{
list1_stream >> a;
list1.addNode(a);
}
getline(inputFile, line);
istringstream list2_stream(line);
while (list2_stream)
{
list2_stream >> a;
list2.addNode(a);
}
файл содержит:
1 2 3 8
2 4 7 9
вывод:
1 2 3 8 8
2 4 7 9 9
Обычно, когда люди говорят «это похоже на ошибку в компиляторе», это код для «Я не знаю, что делаю». Однако в этой ситуации это действительно похоже на ошибку.
Компилятор F # делает копию структур за кулисами на случай, если они будут изменены. (Вот почему, даже если вы определяете структуру с изменяемыми полями, вы должны атрибутировать экземпляр этой структуры как изменяемый, прежде чем вы сможете обновить ее поля.) Похоже, что особая магия, происходящая за кулисами, забывает о полях структуры «только для чтения».
Хотя Интернет и StackOverflow - отличное место, где можно попросить помощи по вопросам, связанным с F #, сообщите команде F # обо всех обнаруженных вами ошибках, отправив электронное письмо на fsbugs@microsoft.com .
]