Вот, что выдает компилятор C++ Builder 6 (SP2):
[C++ Error] new(46): E2316 'malloc' is not a member of 'std'
[C++ Error] new(46): E2272 Identifier expected
[C++ Error] AccountManagmentFrm.cpp(39): E2277 Lvalue required
И переходит на файл new. Что это может быть. В синтаксисе, кажется, все правильно.
Здравствуйте, artgonch, Вы писали:
A>Вот, что выдает компилятор C++ Builder 6 (SP2): A>[C++ Error] new(46): E2316 'malloc' is not a member of 'std' A>[C++ Error] new(46): E2272 Identifier expected A>[C++ Error] AccountManagmentFrm.cpp(39): E2277 Lvalue required A>И переходит на файл new. Что это может быть. В синтаксисе, кажется, все правильно.
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, artgonch, Вы писали:
A>>Вот, что выдает компилятор C++ Builder 6 (SP2): A>>[C++ Error] new(46): E2316 'malloc' is not a member of 'std' A>>[C++ Error] new(46): E2272 Identifier expected A>>[C++ Error] AccountManagmentFrm.cpp(39): E2277 Lvalue required A>>И переходит на файл new. Что это может быть. В синтаксисе, кажется, все правильно.
AD>Всё элементарно! Ошибки в строках 39 и 46!!! :))
Нет, это не элеиментарно. Иначче бы я не спрашивал. Дело в том, что ошибка вознгикает в коде формы, когда я подсоединяю ее к пустому проекты (оконного приложения). Когда я подсоединяю форму с уже существующему проекту, такой ошибки не возникает. Во всех проектах используется одна и та же версия STL. Так что говорить, что все элементарно, глупо. Может быть, что-то с Билдером?
Здравствуйте, artgonch, Вы писали:
A>Вот, что выдает компилятор C++ Builder 6 (SP2): A>[C++ Error] new(46): E2316 'malloc' is not a member of 'std' A>[C++ Error] new(46): E2272 Identifier expected A>[C++ Error] AccountManagmentFrm.cpp(39): E2277 Lvalue required A>И переходит на файл new. Что это может быть. В синтаксисе, кажется, все правильно.
Вот что пишет А.Я.Архангельский "Лучше использовать функцию new-delete.Это пожелание становится безусловной необходимостью, если речь идет о размещении в памяти объектов библиотеки компонентов Borland C++ Builder. Вообще все пособия по Builder или Visual C++ очень рекомендуют именно new, а не malloc.
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, artgonch, Вы писали:
A>>Вот, что выдает компилятор C++ Builder 6 (SP2): A>>[C++ Error] new(46): E2316 'malloc' is not a member of 'std' A>>[C++ Error] new(46): E2272 Identifier expected A>>[C++ Error] AccountManagmentFrm.cpp(39): E2277 Lvalue required A>>И переходит на файл new. Что это может быть. В синтаксисе, кажется, все правильно.
L>Вот что пишет А.Я.Архангельский "Лучше использовать функцию new-delete.Это пожелание становится безусловной необходимостью, если речь идет о размещении в памяти объектов библиотеки компонентов Borland C++ Builder. Вообще все пособия по Builder или Visual C++ очень рекомендуют именно new, а не malloc.
L>С уважением, Сергей
А я их и не использовал! Это вылетает в исходных текстах из STL. Хотя в явном виде я ни один заголовок из STL не продключал. Наверное, у меня где-то пропущена точка запятой. Но гле, яч не могу понять, потому что в одном проекте форма компилируется, а в пустом (шаблон оконного приложения, сгенерированный Билдером) не хочет.
Здравствуйте, artgonch, Вы писали: A>А я их и не использовал! Это вылетает в исходных текстах из STL. Хотя в явном виде я ни один заголовок из STL не продключал. Наверное, у меня где-то пропущена точка запятой. Но гле, яч не могу понять, потому что в одном проекте форма компилируется, а в пустом (шаблон оконного приложения, сгенерированный Билдером) не хочет.
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, artgonch, Вы писали: AD>>>Ты бы хоть код привёл. A>>Привожу: A>>...
AD>А что за файл types.h? Он стоит как раз перед включением <vector>. Может там что не так???
Здравствуйте, artgonch, Вы писали: AD>>А что за файл types.h? Он стоит как раз перед включением <vector>. Может там что не так??? A>Даю исходник этого файла: A>...
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, artgonch, Вы писали: AD>>>А что за файл types.h? Он стоит как раз перед включением <vector>. Может там что не так??? A>>Даю исходник этого файла: A>>...
AD>Удаляем первые две строчки и радуемся жизни: :) AD>
AD>#ifndef _TYPES_H_
AD>#define _TYPES_H_
AD>
Почему? Ведь эти директивы избавляют меня от дублирования кода при включении файла в несколько cpp-файлов! Что-то я не очень понимаю. В первую очередб я грешил именно на такие ошибки. Проверил все файлы, но они этими директивами защищены.
Здравствуйте, artgonch, Вы писали:
A>Почему? Ведь эти директивы избавляют меня от дублирования кода при включении файла в несколько cpp-файлов! Что-то я не очень понимаю. В первую очередб я грешил именно на такие ошибки. Проверил все файлы, но они этими директивами защищены.
Так они у тебя идут два раза друг за другом:
#ifndef _TYPES_H_
#define _TYPES_H_
#ifndef _TYPES_H_ // а где #endif для этого #ifndef ???#define _TYPES_H_
#include <System.hpp>