Click here to Skip to main content
15,901,284 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: MFC VC++ Pin
CPallini17-Sep-19 21:55
mveCPallini17-Sep-19 21:55 
GeneralRe: MFC VC++ Pin
Member 1457555617-Sep-19 23:49
Member 1457555617-Sep-19 23:49 
GeneralRe: MFC VC++ Pin
CPallini18-Sep-19 0:39
mveCPallini18-Sep-19 0:39 
AnswerRe: MFC VC++ Pin
Victor Nijegorodov17-Sep-19 21:47
Victor Nijegorodov17-Sep-19 21:47 
GeneralRe: MFC VC++ Pin
Stefan_Lang17-Sep-19 22:40
Stefan_Lang17-Sep-19 22:40 
QuestionUnresolved extern "dwTlsIndex" exported function in dll Pin
ForNow17-Sep-19 2:41
ForNow17-Sep-19 2:41 
AnswerRe: Unresolved extern "dwTlsIndex" exported function in dll Pin
CPallini17-Sep-19 3:19
mveCPallini17-Sep-19 3:19 
GeneralRe: Unresolved extern "dwTlsIndex" exported function in dll Pin
ForNow17-Sep-19 3:42
ForNow17-Sep-19 3:42 
GeneralRe: Unresolved extern "dwTlsIndex" exported function in dll Changed DLLMAIN.CPP to DLLMAIN.C clean link Pin
ForNow17-Sep-19 8:02
ForNow17-Sep-19 8:02 
Questionmanual kerning with winAPI Pin
Alexander Kindel15-Sep-19 21:38
Alexander Kindel15-Sep-19 21:38 
Questiontypedef for a function for different platforms Pin
ForNow13-Sep-19 3:29
ForNow13-Sep-19 3:29 
AnswerRe: typedef for a function for different platforms Pin
Stefan_Lang13-Sep-19 3:58
Stefan_Lang13-Sep-19 3:58 
GeneralRe: typedef for a function for different platforms Pin
ForNow13-Sep-19 4:36
ForNow13-Sep-19 4:36 
AnswerRe: typedef for a function for different platforms Pin
Richard MacCutchan13-Sep-19 3:59
mveRichard MacCutchan13-Sep-19 3:59 
GeneralRe: typedef for a function for different platforms Pin
ForNow13-Sep-19 4:36
ForNow13-Sep-19 4:36 
QuestionError 12029 WinHTTP Pin
Diprom12-Sep-19 22:36
Diprom12-Sep-19 22:36 
AnswerRe: Error 12029 WinHTTP Pin
Richard MacCutchan13-Sep-19 1:16
mveRichard MacCutchan13-Sep-19 1:16 
AnswerRe: Error 12029 WinHTTP Pin
Victor Nijegorodov13-Sep-19 2:26
Victor Nijegorodov13-Sep-19 2:26 
GeneralRe: Error 12029 WinHTTP Pin
Diprom13-Sep-19 2:30
Diprom13-Sep-19 2:30 
GeneralRe: Error 12029 WinHTTP Pin
Victor Nijegorodov13-Sep-19 2:38
Victor Nijegorodov13-Sep-19 2:38 
AnswerRe: Error 12029 WinHTTP Pin
Randor 14-Sep-19 3:03
professional Randor 14-Sep-19 3:03 
QuestionVisual Studio 2017 C++ Static analyzer (or in ReSharper C++) Pin
Maximilien12-Sep-19 4:21
Maximilien12-Sep-19 4:21 
AnswerRe: Visual Studio 2017 C++ Static analyzer (or in ReSharper C++) Pin
Stefan_Lang12-Sep-19 5:33
Stefan_Lang12-Sep-19 5:33 
Can't help you there, I would have expected VS to issue a warning. D'Oh! | :doh:

That said, it shouldn't make a difference where you put the declaration (and initialization) of i, because section 12.6.2 of the C++ standard says the order of initialization is always:

1. virtual base classes
2. base classes
3. non-static members
(4. the body of the constructor is executed)

Therefore, i can never be initialized by the time the base constructor is called (and if it is, the compiler has an error).

The only way I can think of to initialize i before the base class, is having a (potentially different) base class initialize it - either by moving the member variable into that base class, or with the help of CRTP

C++
template <typename T>
struct make_i_great_again {
    make_i_great_again(T& t) { t.i = 33; }
};
class Test {
...
};
class MainTest : public make_i_great_again<MainTest>, Test
{
public:
    MainTest() : make_i_great_again(*this), Test(i) {}
    int i;
};

Technically this is a hack, because by the time you pass *this to your base class, this isn't properly constructed. But since you're not reading fromo it, it might actually work.

P.S.: oh well, forget all of the above. Somehow I thought you were inheriting from Test ....

Anyway, you could simply use a static const instead of using your member variable:
C++
class MainTest {
    static const int I_INIT = 33;
public:
    MainTest() : m_Test(I_INIT) {}
    Test m_Test;
    int i = I_INIT;
};

GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

AnswerRe: Visual Studio 2017 C++ Static analyzer (or in ReSharper C++) Pin
CPallini12-Sep-19 21:08
mveCPallini12-Sep-19 21:08 
GeneralRe: Visual Studio 2017 C++ Static analyzer (or in ReSharper C++) Pin
Stefan_Lang12-Sep-19 22:19
Stefan_Lang12-Sep-19 22:19 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.