Здравствуйте, при сборке кода (под Ubuntu) выдает warning, он вроде не влияет на работу программы, но же хотелось бы устранить.
Имеется код
#include<iostream>
#include<fstream>
#include<iomanip>
#include <cstring>
using namespace std;
//--------------------------------------------------------------------------------
struct SBooks
{
char chAuthorname[100],chAuthorpatronimic[100], chBook[100];
int nYear, nPages, nPrise;
};
//--------------------------------------------------------------------------------
struct list
{
SBooks sBooks;
list* pNext;
};
когда считываю с файла
ifstream fin(g_chNameOfFile);
if (!fin)
{
cout << "File doesn't exist." << endl;
Readbooks();
return;
}
list* pRun = g_pBegin;
while (!fin.eof())
{
fin >> pRun->sBooks.chAuthorname >> pRun->sBooks.chAuthorpatronimic;
fin.getline(pRun->sBooks.chBook, 99, '»');
strcat(pRun->sBooks.chBook, "»");
fin>> pRun->sBooks.nYear >> pRun->sBooks.nPages >> pRun->sBooks.nPrise;
if (fin.eof())
pRun->pNext = NULL;
else
pRun = pRun->pNext = new list;
}
Geany выдает
struct.cxx: In function ‘void Readbooks()’:
struct.cxx:79:51: warning: overflow in implicit constant conversion [-Woverflow]
fin.getline(pRun->sBooks.chBook, 99, '»');
Подскажите, пожалуйста, решение