Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> error LNK2001, в консольной программе на С 
V
    Опции темы
vitalyisaev2
Дата 10.9.2010, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.9.2010

Репутация: нет
Всего: нет



Прога компилируется, но не линкуется.

Цитата

nltsa.obj : error LNK2001: unresolved external symbol "void __cdecl arrangement(int,double,double,struc t point *)" (?arrangement@@YAXHNNPAUpoint@@@Z)
nltsa.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.


Линковщик ругается на int arrangement. Что с ней не так? На форумах читал о необходимости включения "Using MFC" или дописывания определённого кода в хедер-файл, но не понял, зачем это нужно в простой консольной программе, где все остальные функции, такие же, как она, содержатся в одном файле и нормально работают. 

Код

struct point
{
    unsigned long number;
    unsigned short mera;
    double argument;
    double value;
    double mean;
    double sigma;
};

...

point *array;
    array = new point [(int)length];

...

int arrangement (int m, double argument, double value, point *array)
{
    for(int i=0; i<(length*m); i++)
        if((argument==array[i].argument) && (m==array[i].mera))
        {
            array[i].value+=value;
            array[i].number++;
            return 0;
        };
        array[array_number].mera=m;
        array[array_number].argument=argument;
        array[array_number].value=value;
        array[array_number].number=1;
        array_number++;    
}



Спасибо!

Это сообщение отредактировал(а) vitalyisaev2 - 10.9.2010, 00:15
PM MAIL   Вверх
Mabramyan
Дата 10.9.2010, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 3.7.2007
Где: Алматы

Репутация: нет
Всего: нет



Попробуйте вот так
Код

typedef struct {
    unsigned long number;
    unsigned short mera;
    double argument;
    double value;
    double mean;
    double sigma;
}point;


А еще функция arrangement не знает что вернуть после цикла.

Это сообщение отредактировал(а) Mabramyan - 10.9.2010, 06:31
PM MAIL WWW   Вверх
vitalyisaev2
Дата 10.9.2010, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.9.2010

Репутация: нет
Всего: нет



Mabramyan, к сожалению, так не получается сделать, поскольку мне нужна не одна структура с названием point, а динамический массив структур типа point. После цикла return 0 добавлял, но проблемы это не решило. 

Вот более полный вариант изложения кода

Код


...

struct point
{
    unsigned long number;
    unsigned short mera;
    double argument;
    double value;
    double mean;
    double sigma;
};

...

void cordim (double *A, int tau, int n, FILE *f2, point *array)
{
    void arrangement (int m, double argument, double value, point *array);
        ...
        // различные вычисления, необходимые для вызова arrangement
        ...
            arrangement (m, log10(e), log10(h_summ/(n*n)), array);     
        ...
}

int arrangement (int m, double argument, double value, point *array)
{
    for(int i=0; i<(length*m); i++)
        if((argument==array[i].argument) && (m==array[i].mera))
        {
            array[i].value+=value;
            array[i].number++;
            return 0;
        };
        array[array_number].mera=m;
        array[array_number].argument=argument;
        array[array_number].value=value;
        array[array_number].number=1;
        array_number++;    
        return 0;
}

...

int main(int argc, char* argv[])
{
...
point *array;
array = new point [(int)length];
cordim (..., array);
...
}


Добавлено через 2 минуты и 12 секунд
Вот и всё, сам нашёл ответ smile в функции void cordim объявляю прототип void arrangement, а сама функция int arrangement. Спасибо!  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.