Изменить на член класса C ++ не перечислитьC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Изменить на член класса C ++ не перечислить

Сообщение Anonymous »

Я пытаюсь изменить значение словеса , член класса MySolver , но изменение не сохранено. Я уменьшил проблему до минимального воспроизводимого примера.

Код: Выделить всё

#ifndef MYSOLVER_H
#define MYSOLVER_H

class mySolver {

public:

bool verbose = false;

void solve();
};

#endif // MYSOLVER_H
И вот реализация mysolver.cpp :

Код: Выделить всё

#include "mySolver.h"

void mySolver::solve()
{
printf("verbose = %d\n", verbose);
}
Я инициализации и вызов этого класса из класса TestClass . Вот заголовочный файл testclass.h :

Код: Выделить всё

#ifndef TESTCLASS_H
#define TESTCLASS_H

#include "mySolver.h"

class testClass {

private:

mySolver MySolver;

public:

void run();
};

#endif // TESTCLASS_H
И вот реализация testclass.cpp :

Код: Выделить всё

#include "testClass.h"
#include "mySolver.h"

void testClass::run()
{
MySolver = mySolver();
printf("verbose = %d\n", MySolver.verbose); // Prints 0
MySolver.verbose = true;
printf("verbose = %d", MySolver.verbose); // Prints 1

MySolver.solve(); // Prints 0
}
Пожалуйста, помогите мне с этим, это кажется простым, но я не могу понять, почему это не работает. Статическая библиотека.

Подробнее здесь: https://stackoverflow.com/questions/794 ... -peristing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»