Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 335
#1

Создание лог файла. Нет подходящего конструктора по умолчанию - C++

16.07.2015, 17:18. Просмотров 409. Ответов 7
Метки нет (Все метки)

Добрый день, почему вылетает ошибка не пойму. Ошибка: нет подходящего конструктора по умолчанию.
И вторая ошибка Log::Log(void): перегруженная функция-член не найдена в "Log"

вот код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef LOG_H
#define LOG_H
 
 
 
class Log
{
public:
    FILE *file ;
    Log(void);
    Log( char* filename );
    void print(const char *format, ...) ;
    virtual ~Log(void);
};
 
#endif // LOG_H

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
#include "Precompiled.h"
#include "Log.h"
 
 
 
Log::Log( void ){ }
 
 
Log::Log( char* filename ){
  file=fopen(filename,"w");
}
 
 
void Log::print(const char *format, ...){
  if(!file) return;
  va_list args;
  va_start(args, format);
  vfprintf(file, format, args);
  fflush(file);
  va_end(args);
}
 
Log::~Log(void)
{
}

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2015, 17:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание лог файла. Нет подходящего конструктора по умолчанию (C++):

Нет подходящего конструктора по умолчанию - C++
Всем привет :) Есть вот такой код#include <vector> #include <SFML/Graphics.hpp> using namespace sf; class Animation { public:...

Нет подходящего конструктора по умолчанию - C++
#ifndef ANIMATION_H #define ANIMATION_H #include <SFML\Graphics.hpp> class animation { public: std::vector<sf::IntRect>...

Нет подходящего конструктора по умолчанию. Наследование - C++
Скидываю хидер и исходник к нему: хидер(Main_Menu.h): #include "stdafx.h" #ifndef MAIN_MENU_DEF #define MAIN_MENU_DEF 1 ...

Ошибка: нет подходящего конструктора по умолчанию - C++
В общем ребят, такая проблема, решил начать обучение плюсов по книжке, там задание создать класс и конструктор с параметром, и в общем суть...

C2512: odejda: нет подходящего конструктора по умолчанию - C++
Пытаюсь разобраться с полиморфизмом. Помогите пожалуйтста. #include <string> #include <iostream> using namespace std; class...

Конструктор Шредингера "нет подходящего конструктора по умолчанию", хотя он есть - C++
собственно, код. на 156-й строке ( cont(circi);) ругается на отсутствие конструктора в классе. но он там есть! я его видел! а если...

7
DrunkProgrammer
37 / 27 / 6
Регистрация: 09.06.2015
Сообщений: 100
16.07.2015, 17:21 #2
А где ты создаешь объект данного класса? Скорее всего ты пытаешься передать конструктору что-то, о чем он не в курсе.
0
_Valera_
489 / 371 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
16.07.2015, 17:22 #3
Тут нужно посмотреть создание объекта
0
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 335
17.07.2015, 10:43  [ТС] #4
я закомментировал строку где создается объект класса, и получаю ошибку: Log::Log(void): перегруженная функция-член не найдена в "Log"
0
DrunkProgrammer
37 / 27 / 6
Регистрация: 09.06.2015
Сообщений: 100
17.07.2015, 11:31 #5
bazelbodayFaron, Сделай проще, скинь кусок кода где ты его создаешь.
0
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 335
17.07.2015, 11:43  [ТС] #6
в другом .cpp файле пишу, подключил Log.h
далее просто :
Log log1 = log1("D:\\Engine_log.txt");
log1.print("почему ты не запускаешься, сволочь") ;
0
DrunkProgrammer
37 / 27 / 6
Регистрация: 09.06.2015
Сообщений: 100
17.07.2015, 13:20 #7
bazelbodayFaron, Не правильно инициализируешь. надо так
C++
1
Log log1("D:\\Engine_log.txt");
или так
C++
1
Log *log1 = new Log("D:\\Engine_log.txt");
1
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 335
17.07.2015, 14:44  [ТС] #8
ок, запустил так :


C++
1
2
Log* log1 = new Log("D:\\Engine_log.txt");
log1->print("почему ты не запускаешься, шайтан?") ;
Error C2511: Log::Log(void): перегруженная функция-член не найдена в "Log"

Добавлено через 41 минуту
кажется я начинаю понимать

Добавлено через 2 минуты
я создаю класс лог в готовый проект, но .cpp файл и заголовочный создаются во вложенной папке, не рядом с остальными классами и компилятор наверное ищет не в том месте где нужно. Непонятно почему в VS2010 когда создаешь класс он пихает его не рядом с остальными cpp шками и хидерами..

Добавлено через 12 минут
да, именно так. Я отдельно создал класс и потом уже добавил его в проект и все заработало!
0
17.07.2015, 14:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2015, 14:44
Привет! Вот еще темы с ответами:

Visual жалуется на конструктор "Error C2512: нет подходящего конструктора по умолчанию" - C++
Привет, мне Visual C++ выдал такие ошибки делаю все как в уроке, пытаюсь описать класс в заголовочном файле, вот код с...

Класс-шаблон создание конструктора по умолчанию - C++
Хочу создать класс-шаблон. Начал с создания конструктора по умолчанию, с этого же момента и началась проблема, причём такая, что смысл её...

Как поступить, если необходимо создать массив экземпляров класса, но в классе нет конструктора по умолчанию? - C++
Как поступить, если необходимо создать массив экземпляров класса, но в классе нет конструктора по умолчанию? Конечно, можно его объявить,...

Инициализация конструктора по умолчанию - C++
почему если инициализировать поля класса в конструкторе по умолчанию так: MyClass::MyClass() { int m=0; int t=0; } то поля...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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