Есть такой проект - http://iae.dp.ua/ - Jazz
Клиент написан на c++ (qt). Не могу откомпилировать на своей системе, прошу помочь.
На что ругается компилятор (gcc version 3.3.3 [FreeBSD]) :
c++ -c -pipe -Wall -W -O -pipe -mcpu=pentiumpro -D_THREAD_SAFE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -Wno-deprecated -I/usr/local/share/qt/mkspecs/freebsd-g++ -I. -I/usr/local/include -I/usr/X11R6/include -o dataSocket.o dataSocket.cpp
dataSocket.cpp: In function `void getFile(QString, QObject*, int, bool)':
dataSocket.cpp:81: error: default argument given for parameter 3 of `void
getFile(QString, QObject*, int, bool)'
datasocket.h:26: error: after previous specification in `void getFile(QString,
QObject*, int, bool)'
dataSocket.cpp:81: error: default argument given for parameter 4 of `void
getFile(QString, QObject*, int, bool)'
datasocket.h:26: error: after previous specification in `void getFile(QString,
QObject*, int, bool)'
gmake: *** [dataSocket.o] Ошибка 1
В datasocket.h:26:
void getFile(QString url,QObject *widget,int menu_id=-1,bool te=false);
В datasocket.cpp:
void getFile(QString url,QObject *widget,int menu_id=-1,bool te=false)
{
}
То есть прототип и объявление функции полностью совпадают. На что тогда ругается компилятор?
Второй момент - я изменяю прототип функции, убрав предопределения аргументов. Дальше компиляция идет. Но в программе часто встречаются вызовы функции:
getFile(img,widget);
то есть в таком вызове пропущено два параметра, на что компилятор естественно ругается. В чем причина? Ведь у других все компилируется.