Здравствуйте, гость ( Вход | Регистрация )
Алексей1153 | Дата 26.3.2012, 19:05 |
гость, пустое, не стоит так разоряться ))) if(bool_variable == true) - это нормальная запись. Я бы даже сказал - правильная, без синтаксического сахара. Цитата bool - это синтетический тип на самом деле это int а это вообще ложь. bool - это самостоятельный тип (размер, между прочим, 1 байт, а у int - обычно 4) . |
|
Гость_FantasyOR_* | Дата 26.3.2012, 16:55 |
Раскрывающийся текст
Не сочтите за некрофилию Стиль программирования if(trHash.contains(str.at(i)) == true) в Вашем коде выше (взят был из http://www.forum.crossplatform.ru/lofivers....php/t3712.html ) недопустим. Вы в булевом условии сравниваете ответ с истиной?!?!?!?! надеюсь за год , Вы исправили эту свою привычку. посмотрите внимательно что получается: если ( (правда == правда)=правда )... если ( (ложь == правда)=ложь )... у Вас ответ и так правда или ложь, зачем её сравнивать ещё раз? должно быть: if ( trHash.contains(str.at(i)) ) ... contains - возвращает bool. bool - это синтетический тип на самом деле это int 0 = false <0> = true - любое не нулевое значение, как положительное, так и отрицательное даст true if (1)... - true пойдёт в ветвь then if (-1)... - true пойдёт в ветвь then if (-909090)... - true пойдёт в ветвь then if (0)... - false пойдёт в ветвь else таким образом можно делать что-то вроде: if ( массив.size() )..., но конечно не стоит у массива(не только QVector, но и QList, и QStringList...) есть isEmpty() Ещё раз прошу прощения. Надеюсь за год Вы уже исправились. Просто это был шок и решил подсказать Вам как правильно. |
|
Kagami | Дата 29.1.2011, 10:10 |
Файл назван *.cpp, поэтому он считается файлом исходных кодом. Из-за этого он компилируется два раза - один раз как файл myclass.cpp, второй - в составе mainwindow.cpp. | |
Awesome | Дата 28.1.2011, 23:30 |
Litkevich Yuriy, я вроде бы делал то, про что говорит silver47, да и инклуд у меня был всего один. Если только creator сам не добавил еще один куда-нибудь | |
Litkevich Yuriy | Дата 27.1.2011, 21:04 |
Видимо так нельзя а ты за препроцессора, для понимания, сделай работу. Вместо строки#include "myclass.cpp" помести этот самый файл, всюду где в проекте эта строка применяется, и посмотри что получится. |
|
silver47 | Дата 27.1.2011, 7:36 |
multiple definition of множественное объявление одного и того же. Не забываем про
А так да - лучше все таки делить на заголовочные и сорсные. |
|
Awesome | Дата 27.1.2011, 0:01 |
хм. Мой класс не был разделен на файлы заголовка и файлы с методами, и то и другое было в файле myclass.cpp Видимо так нельзя, потому что после разделения класса на .h и .cpp всё, вроде бы, работает. Спасибо. |
|
igor_bogomolov | Дата 26.1.2011, 23:17 |
#include "myclass.cpp" Заголовочный файл (*.h) подключать через include надо, а не .cpp |
|
Awesome | Дата 26.1.2011, 22:40 |
Создаю в QtCreator проект GUI, создаю файл myclass.cpp:
Пишу в mainwindow.cpp
Жму "Выполнить". Полный текст консоли сборки: Раскрывающийся текст Выполняется сборка проекта nerabotaetclass... Настройки не изменились, этап qmake пропускается. Запускается "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w mingw32-make: Entering directory `C:/][/qt/nerabotaetclass-build-desktop' C:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `C:/][/qt/nerabotaetclass-build-desktop' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\nerabotaetclass.exe debug/main.o debug/mainwindow.o debug/myclass.o debug/moc_mainwindow.o -L"c:\Qt\2010.05\qt\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 mingw32-make[1]: Leaving directory `C:/][/qt/nerabotaetclass-build-desktop' mingw32-make: Leaving directory `C:/][/qt/nerabotaetclass-build-desktop' debug/myclass.o: In function `myClass': C:\][\qt\nerabotaetclass-build-desktop/../nerabotaetclass/myclass.cpp:10: multiple definition of `myClass::myClass()' debug/mainwindow.o:C:\][\qt\nerabotaetclass-build-desktop/../nerabotaetclass//myclass.cpp:10: first defined here debug/myclass.o: In function `myClass': C:\][\qt\nerabotaetclass-build-desktop/../nerabotaetclass/myclass.cpp:10: multiple definition of `myClass::myClass()' debug/mainwindow.o:C:\][\qt\nerabotaetclass-build-desktop/../nerabotaetclass//myclass.cpp:10: first defined here debug/myclass.o:C:\][\qt\nerabotaetclass-build-desktop/../nerabotaetclass/myclass.cpp:14: multiple definition of `myClass::setAbc()' debug/mainwindow.o:C:\][\qt\nerabotaetclass-build-desktop/../nerabotaetclass//myclass.cpp:14: first defined here collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\nerabotaetclass.exe] Error 1 mingw32-make: *** [debug] Error 2 Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2. Возникла ошибка при сборке проекта nerabotaetclass (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" |
|
igor_bogomolov | Дата 26.1.2011, 22:10 |
Ну так ты код приложи, что бы было с чем разбираться | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 20.4.2024, 19:29 |