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

Исправить ошибку undefined reference to (Дейтелы, классы) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переопределение оператора () для своего класса http://www.cyberforum.ru/cpp-beginners/thread1619164.html
У меня вопрос. Как переопределить оператор () для своего класса?Если можно,приведите пример.
C++ Разработка простейшей анимации Есть траектория движения фигуры и есть сама фигура, в данном случае это прямоугольник и квадрат. Входными данными для квадрата должна быть сторона а, для траектории прямоугольника стороны а и b. У меня есть готовый код написан по примеру движения круга по пятиугольника ----> Дилемма заключается в том, что квадрат не движется как должен, а просто с одинаковым периодом бывает то в... http://www.cyberforum.ru/cpp-beginners/thread1619162.html
C++ Создать класс прямоугольных треугольников заданых своими катетами
Создать класс прямоугольных треугольников заданых своими катетами. Создать методы, возвращающие значения площади треугольника, его гипотенузы и сравнивают величины их площадей. C++
Тема-обсуждение для "Алгоритмов сортировок" C++
Сообщения выделены из закреплённой темы: http://www.cyberforum.ru/cpp-beginners/thread27084.html #include <iostream> #include <fstream> #include <stdlib.h> #include <ctime> #include <queue> using namespace std;
C++ Задание по сумме элементов строк массива http://www.cyberforum.ru/cpp-beginners/thread1619117.html
#include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int _tmain(int argc, _TCHAR* argv) { int masC; int masV;
C++ Вычисление значения функции разложением в ряд Тейлора Составить алгоритм и программу нахождение суммы ряда с заданной точностью E. Использовать рекуррентные соотношения при вычислении очередного члена ряда. Для оценки правильности результата предусмотреть вычисление по контрольной формуле. Вычисление суммы заканчивается, если модуль очередного слагаемого оказывается меньше заданного значения точности (E), причем для этих рядов при (|X|<1)... подробнее

Показать сообщение отдельно
hoggy
6437 / 2655 / 460
Регистрация: 15.11.2014
Сообщений: 5,844
Завершенные тесты: 1
19.04.2016, 18:56     Исправить ошибку undefined reference to (Дейтелы, классы)
Цитата Сообщение от Liss29 Посмотреть сообщение
Да вы что, я не пишу std:: вставляю using namespace std; и у меня всё прекрасно компилировалось и линковалось.
у вас какая то странная реакция.
особенно, учитывая:

Цитата Сообщение от Liss29 Посмотреть сообщение
Ещё на string ругается хотя библиотека подключена, страно это, ведь всё компилировалось до этого прекрасно.
это и называется "не знание основ".

вам нужно понять принцип по которому
собирается многофайловый проект.


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

например, при трансляции файла trololoo.cpp компилятор ничего не знает,
и знать не хочет об main.cpp

при этом, на этапе обработке препроцессором,
все вхождения #include "file.h"
заменяются текстов указанных файлов.

рассмотрим для примера ваш GradeBook4.cpp

вот его кусочек:

C++
1
2
3
4
5
//Рис. 7.17: GradeBook4.cpp 
//Определение элеметн-функций класса GradeBook, использующего массив для хранения оценок студентов
#include <iostream>
#include <iomanip>
#include "GradeBook4.h" // <--- сюда вставится текст из этого файла
после обработки препроцессором
вместо #include "GradeBook4.h"
будет подставлен текст файла:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Рис. 7.17: GradeBook4.cpp 
//Определение элеметн-функций класса GradeBook, использующего массив для хранения оценок студентов
#include <iostream>
#include <iomanip>
//Рис. 7.16: GradeBook4.h 
//Определение класса GradeBook, использующего массив для хранения оценок. Элемент-функции определяются в GradeBook.cpp
#include <string> //программа использует стандартный класс string 
 
//Определение класса GradeBook
class GradeBook
{
    public:
    const static int students = 10;
    
    GradeBook(string, const int[]); //  <---- upppssss, что такое string??????
    
    void setCourseName();
    string getCourseName(); //  <---- upppssss, что такое string??????

как видите, при обработке единицы трансляции GradeBook4.cpp
оказалось, что нигде не фигурирует ни std::, ни using namespace std;

и поэтому, компилятор не понимает, что это за тип такой.

одного лишь этого достаточно,
для того, что бы ваш проект не скомпилировался.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru