Форум программистов, компьютерный форум CyberForum.ru

Ошибка C4700 - C++

Восстановить пароль Регистрация
 
VitoAcidrain
 Аватар для VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
05.06.2014, 12:39     Ошибка C4700 #1
Всем привет!
Need help!
Пишу программку в среде Visual Studio Express 2013 для Windows Desktop.
Уже всё перепробовал. То ошибка LNK2019 всплывает, то C4700.
При данной реализации, представленной ниже появляется ошибка:
Ошибка 1 error C4700: использована неинициализированная локальная переменная "NewHugeArray" c:\development\visualstudioworkspace\project7.5\project7.5\project7.5.cpp 47 1 Project7.5


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
57
58
59
60
61
62
// Project7.5.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <ctime>
 
using namespace std;  
 
class HugeInteger {
public:
    HugeInteger();
    ~HugeInteger();
 
    void addArrayElement();
    void showArray();
private:
    int HugeArray[40];
    int index;
};
 
void HugeInteger::addArrayElement(){
    srand(time_t(0));
    for (index = 0; index <= 40; index++){
        HugeArray[index] = rand() % 10 + 1;
    }
}
 
void HugeInteger::showArray(){
    for (index = 0; index <= 40; index++){
        cout << "Element" << index << " = " << HugeArray[index];
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUSSIAN"); // Добавляем поддержку русского языка
    int choice;
 
    HugeInteger * NewHugeArray;
 
    do{
        cout << "(1) - Заполнить массив\n (2) - Вывести массив (3) - Сложение элементов\n (4) - Вычитание элементов\n\n";
        cout << "Ваш выбор : ";
        cin >> choice;
        switch (choice){
        case 1: NewHugeArray->addArrayElement(); cout << "\n\n";
            break;
        case 2: NewHugeArray->showArray(); cout << "\n\n";
            break;
        case 10: cout << "Выход\n\n";
            break;
        default: cout << "Введите число от 1 до 10\n\n";
            break;
        }
    } while (choice != 10);
    
    delete NewHugeArray;
 
    system("pause");
    return 0;
}
В чем мой косяк и как с ним бороться?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
05.06.2014, 12:42     Ошибка C4700 #2
C++
1
2
3
4
5
6
7
int main(){
  HugeInteger * NewHugeArray = new HugeInteger;
  //...
  //...
  delete NewHugeArray;
  return 0;
}
VitoAcidrain
 Аватар для VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
05.06.2014, 12:46  [ТС]     Ошибка C4700 #3
Kuzia domovenok, так я тоже прописывал, но всплывают другие ошибки:
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall HugeInteger::HugeInteger(void)" (??0HugeInteger@@QAE@XZ) в функции _wmain C:\Development\VisualStudioWorkspace\Project7.5\Project7.5\Project7.5.obj Project7.5
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall HugeInteger::~HugeInteger(void)" (??1HugeInteger@@QAE@XZ) в функции "public: void * __thiscall HugeInteger::`scalar deleting destructor'(unsigned int)" (??_GHugeInteger@@QAEPAXI@Z) C:\Development\VisualStudioWorkspace\Project7.5\Project7.5\Project7.5.obj Project7.5
Ошибка 3 error LNK1120: неразрешенных внешних элементов: 2 C:\Development\VisualStudioWorkspace\Project7.5\Debug\Project7.5.exe 1 1 Project7.5
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
05.06.2014, 12:49     Ошибка C4700 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
то есть либо динамически создавать объект (в процессе работы программы)\
Либо (если необходимости динамического создания/удаления нет) жёстко создавать объект автоматически.
C++
1
2
3
4
5
6
7
int main(){
  HugeInteger NewHugeArray;//сам объект тут и создан, а не указатель на объект, 
                                       //созданный и лежащий где-то в "куче" с помощью new
  //...
  //...
  return 0;
}
Добавлено через 58 секунд
Цитата Сообщение от VitoAcidrain Посмотреть сообщение
но всплывают другие ошибки:
ну так их и надо исправлять! а не "маскировать" их другими ошибками!

Добавлено через 1 минуту
Цитата Сообщение от VitoAcidrain Посмотреть сообщение
ссылка на неразрешенный внешний символ
в программе не хватает
C++
1
2
3
4
5
6
7
HugeInteger::HugeInteger(){
  //.....atata
}
//и ещё
HugeInteger::~HugeInteger(){
 //атата
}
VitoAcidrain
 Аватар для VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
05.06.2014, 12:54  [ТС]     Ошибка C4700 #5
Kuzia domovenok, Большое спасибо!
Yandex
Объявления
05.06.2014, 12:54     Ошибка C4700
Ответ Создать тему
Опции темы

Текущее время: 09:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru