Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 01.08.2008
Сообщений: 65

Warning LNK4006: 'name' already defined in 'file' second definition ignored

23.12.2008, 19:20. Показов 2194. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал прогу в Windows Forms. Была такая проблема: компилер выдавал определенные ошибки. Покапался в мсдн, нашел совет в свойствах проекта прописать что-то на /F.... уже забыл и ошибки стали варнингами. Варнинги срабатывают на мой класс комплексных чисел, очень простой - никаких "встроенных" функций не использую. Вот часть кода класса ( весь код в хэдэре) :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#pragma once
#include "stdafx.h"
 
 
namespace CurseProject {
 
class MYcomplex {                                 // Класс комплексных чисел с полной функциональностью
public:
    double real;
    double imaq;
public:
    MYcomplex(double r = 0, double i = 0) : real(r), imaq(i) {}; //конструктор, инициализирует 
                                                                 // действительную и мнимую часть нулями по умол-ю
    MYcomplex &  operator += (const MYcomplex& c1);
    MYcomplex & operator -= (const MYcomplex& c1);
    MYcomplex & operator *= (const MYcomplex& c1);    //перегруженные операторы
    MYcomplex &  operator /= (const MYcomplex& c1);   // необходимые в программе
    MYcomplex & operator = (const MYcomplex& c1);
    MYcomplex & operator = (double r) { real = r; return (*this); } 
    MYcomplex & operator () (double val) {
        val = real;
    };
 
 
        
 
    bool operator == (const MYcomplex comp);
    bool operator != (const MYcomplex comp);
    bool operator > (double comp);
    bool operator >= (double comp);
    void cs() { if(imaq != 0) imaq = - imaq; };  // комплексное сопряжение
 
 
    
friend MYcomplex operator +(const MYcomplex& c1, const MYcomplex& c2);
friend MYcomplex operator -(const MYcomplex& c1, const MYcomplex& c2);
friend MYcomplex operator *(const MYcomplex& c1, const MYcomplex& c2);
friend MYcomplex operator /(const MYcomplex& c1, const MYcomplex& c2);
 
};
 
 
MYcomplex& MYcomplex::operator *= (const MYcomplex& c1) {
        double r, i;
    r = real * c1.real -  imaq * c1.imaq;
    i = real * c1.imaq + imaq * c1.real;
    real = r;
    imaq = i;
    return (*this);
};
 
MYcomplex& MYcomplex::operator += (const MYcomplex& c1) {
    real += c1.real;
    imaq += c1.imaq;
    return (*this);
};
Выдает варнинги такого типа ( 59 штук ) :
1>CurseProject.obj : warning LNK4006: "public: class CurseProject::MYcomplex & __thiscall CurseProject::MYcomplex::operator*=(clas s CurseProject::MYcomplex const &)" (??XMYcomplex@CurseProject@@QAEAAV01@ABV 01@@Z) already defined in CreateList.obj; second definition ignored
1>CurseProject.obj : warning LNK4006: "public: class CurseProject::MYcomplex & __thiscall CurseProject::MYcomplex::operator+=(clas s CurseProject::MYcomplex const &)" (??YMYcomplex@CurseProject@@QAEAAV01@ABV 01@@Z) already defined in CreateList.obj; second definition ignored
Вот, пишет, что они уже определены где-то (ТОЛЬКО ВОТ НИГДЕ В ПРОЕКТЕ БОЛЬШЕ ОПРЕДЕНИЯ НЕТ) . В настройках я прописал, чтобы игнорировало повторное определение. Но все-таки хотелось бы убрать эти варнинги. Правда я там намудрил с именами, у мя несколько копий проета с таким же именем, но вряд ли в этом дело. Не подскажите так в чем же дело? Спасибо.

Добавлено через 15 минут 23 секунды
Все, разобрался: прописал я /Force specification - все заменилось на ворнинги. А теперь разбил ['l'h на определение и реализацию - все норм пошло. Просто запутался: ведь шаблонный класс должен быть полностью в хэдэре
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2008, 19:20
Ответы с готовыми решениями:

Warning: Duplicate resource: Type 24 (user-defined), ID 1; File resource <>.res kept; file …\WindowsXP.res
аааааааааа.... что тут делать) я и этот файл .res удаляла и \WindowsXP.res тоже сначала пишет ошибку и... опять это сообщение

Warning: stat failed For up.php (errno=2 - No such File Or directory) Warning: Undefined variable: part in
При выполнении скрипта у меня постоянно выдаются сообщения типа: Warning: Undefined index: Warning: stat failed For up.php (errno=2 -...

Warning: require(/path/to/file..): failed to open stream: No such file or directory
Установил шаблон на joomla 3 и увидел сию ошибку -&gt; Warning:...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2008, 19:20
Помогаю со студенческими работами здесь

Вылетает ошибка! Warning: file_get_contents(main.tpl) [function.file-get-contents]: failed to open stream: No such file or directory in /home/u6958797
В чем может быть проблема &lt;?php require_once &quot;config_class.php&quot;; require_once &quot;article_class.php&quot;; require_once...

Warning: file(password): failed to open stream: No such file or directory in E:\OpenServer\domains\php\05\5.3.3\1.php on
&lt;?php error_reporting(E_ALL &amp; ~E_NOTICE); // Устанавливаем неограниченное время выполнения скрипта set_time_limit(0); ...

Type or namespace definition, or end-of-file expected
Привет. Подскажите пожалуйста забыл как решается такая ошибка: Type or namespace definition, or end-of-file expected

"first defined here, multiple definition of" - собственно, проблема
int createnewtask() { // &lt;-- Ругается на эту строку. char filename; std::cin &gt;&gt; filename; strcat(filename,...

Что значит сообщение Warning: Public symbol defined in both module
Доброго! Стоит ли обращать внимания на варнинги такого типа, что отображает компилятор, к чему плохому они могут привести? Warning:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru