ZVS
Posts: 500
|
А чего qsort не использовал для сортировки?
|
|
29.09.2010 02:00 |
|
ZVS
Posts: 500
|
Тогда по мелочи еще пара вопросов.
1. Зачем менять указатели, если if (strcmp(Arr[LeftInd], MiddleItem) == 0), просто лень отделить было?
2. Зачем скобки в вызовах типа SortStrArr(&Arr[0], (RightInd + 1 )); на всякий случай? Добавлено:
(29.09.2010 02:07)Berserker Wrote: Кое-что пока не ясно. Создал .h-файл без .cpp-аналога, подключил его, но компилятор в упор его не видит:
#include <GeneralUnit.h>
...
А если так:
#include "GeneralUnit.h"
(This post was last modified: 29.09.2010 02:17 by ZVS.)
|
|
29.09.2010 02:16 |
|
Berserker
Posts: 16657
|
Quote:1. Зачем менять указатели, если if (strcmp(Arr[LeftInd], MiddleItem) == 0), просто лень отделить было?
Машинально при правке поставил. Первоначально было > 0.
Quote:2. Зачем скобки в вызовах типа SortStrArr(&Arr[0], (RightInd + 1)); на всякий случай?
Логически выделил. Зрительно проще воспринимаю выражения так.
Хочу попробовать с классами поработать, написать аналог строк в Делфи со всякими умными фишками, но пока не понимаю, могут ли существовать заголовочные файлы без cpp-аналогов или пусть даже пустой плюсовый файл, но обязателен?
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
29.09.2010 02:20 |
|
ZVS
Posts: 500
|
Ясный перец могут. Они вообще никак не связаны для компилятора. Плюсовый фай абсолютно не обязателен.
|
|
29.09.2010 02:23 |
|
ZVS
Posts: 500
|
Не путай его. Пусть вначале просто с классами разберется. Шаблоны - это следующий шаг.
|
|
29.09.2010 02:26 |
|
Berserker
Posts: 16657
|
|
29.09.2010 02:30 |
|
ZVS
Posts: 500
|
|
29.09.2010 02:31 |
|
Berserker
Posts: 16657
|
Да. BloodShed Dev-C++ (включает в себя gcc с mingw) пишет, что без понятия, где файл. Добавил директорию проекта в список подключаемых. Нулевой эффект. Не принимает файл "GeneralUnit.h" хоть убей, а StringUnit.cpp нормально включается в проект. Добавлено:
Code:
Êîìïèëÿòîð: Default compiler
Building Makefile: "C:\Dev-Cpp\Examples\Hello\Makefile.win"
Âûïîëíåíèå make...
make.exe -f "C:\Dev-Cpp\Examples\Hello\Makefile.win" all
g++.exe -D__DEBUG__ -c Hello.cpp -o Hello.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -g3
Hello.cpp:4:25: GeneralUnit.h: No such file or directory
Hello.cpp:6: error: `pointer' does not name a type
Hello.cpp:8: error: variable or field `ExchangeStrs' declared void
Hello.cpp:8: error: `pchar' was not declared in this scope
Hello.cpp:8: error: `StrA' was not declared in this scope
Hello.cpp:8: error: `pchar' was not declared in this scope
Hello.cpp:8: error: `StrB' was not declared in this scope
Hello.cpp:9: error: initializer expression list treated as compound expression
Hello.cpp:9: error: expected `,' or `;' before '{' token
Hello.cpp:15: error: variable or field `SortStrArr' declared void
Hello.cpp:15: error: `pchar' was not declared in this scope
Hello.cpp:15: error: expected primary-expression before "int"
Hello.cpp:16: error: initializer expression list treated as compound expression
Hello.cpp:16: error: expected `,' or `;' before '{' token
Hello.cpp:50: error: `pchar' has not been declared
Hello.cpp:51: error: ISO C++ forbids declaration of `args' with no type
Hello.cpp: In function `int main(int, int*)':
Hello.cpp:53: error: `pchar' undeclared (first use this function)
Hello.cpp:53: error: (Each undeclared identifier is reported only once for each function it appears in.)
Hello.cpp:53: error: expected `;' before "strs"
Hello.cpp:54: error: `strs' undeclared (first use this function)
Hello.cpp:54: error: `SortStrArr' cannot be used as a function
make.exe: *** [Hello.o] Error 1
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
29.09.2010 02:40 |
|
ZVS
Posts: 500
|
Ну попробуй включить с полным путем. Если заработает ищи настройки умолчательного пути к каталогу инклудов. Если нет - выброси свой dev-c++ Добавлено:
По правилам C++ при включении файла в "" он ищется в папке текущего проекта, а в <> ищется в каталоге стандартной библиотеки.
P.S. Ты бы лучше начало файла Hello.cpp поместил, а не полный лог.
P.S.S.
И какая из этих
-I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"
-I"C:/Dev-Cpp/include/c++/3.4.2/backward"
-I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"
-I"C:/Dev-Cpp/include/c++/3.4.2"
-I"C:/Dev-Cpp/include" директория твоего проекта?
(This post was last modified: 29.09.2010 02:51 by ZVS.)
|
|
29.09.2010 02:44 |
|
Berserker
Posts: 16657
|
|
29.09.2010 02:51 |
|
Bourn
Posts: 189
|
MSVC компилер - не найдет разницы между
#include <GeneralUnit.h>
#include "GeneralUnit.h"
хотя стоит придерживаться классики
|
|
29.09.2010 13:20 |
|
ZVS
Posts: 500
|
Вообще разница есть. Если совсем точно по стандарту, то "" вначале должен искаться в текущей папке и если не находится, то в системной, а <> наоборот в системной и если нет, то в текущей.
Поэтому кажется, что разницы нет. Но она есть. Создай в папке проекта stdio.h и посмотри какой файл будет включаться в <stdio.h> и "stdio.h". Сделано это, чтобы можно было в частности временно для проекта подменять стандартные библиотеки, не трогая оригинальные библиотечные файлы.
Кстати раньше MSVC не поддерживал стандарт полностью и искал только так как я написал раньше.
|
|
30.09.2010 00:35 |
|
packa
Posts: 1210
|
Тема вроде подходящая, хотел спросить:
Может кто подсказать хорошую обучалку по с++?
То бишь проверенную, надежную.
Буду благодарен.
подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
(This post was last modified: 17.02.2011 21:43 by packa.)
|
|
17.02.2011 21:43 |
|