Changeset - r23019:98a17bb1c192
[Not reviewed]
master
0 1 0
Niels Martin Hansen - 6 years ago 2018-10-27 06:17:40
nielsm@indvikleren.dk
Fix e00908f: Visual C++ 2015 compile error

Microsoft Visual C++ 2015 Update 3 (and possibly other versions) consider a struct member undefined in a
static_assert in the struct body. Moving the static_assert to a member function solves the issue.
1 file changed with 3 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/openttd.cpp
Show inline comments
 
@@ -394,8 +394,6 @@ struct AfterNewGRFScan : NewGRFScanCallb
 
	bool *save_config_ptr;             ///< The pointer to the save config setting.
 
	bool save_config;                  ///< The save config setting.
 

	
 
	assert_compile(sizeof(generation_seed) == sizeof(_settings_game.game_creation.generation_seed));
 

	
 
	/**
 
	 * Create a new callback.
 
	 * @param save_config_ptr Pointer to the save_config local variable which
 
@@ -407,6 +405,9 @@ struct AfterNewGRFScan : NewGRFScanCallb
 
			join_server_password(NULL), join_company_password(NULL),
 
			save_config_ptr(save_config_ptr), save_config(true)
 
	{
 
		/* Visual C++ 2015 fails compiling this line (AfterNewGRFScan::generation_seed undefined symbol)
 
		 * if it's placed outside a member function, directly in the struct body. */
 
		assert_compile(sizeof(generation_seed) == sizeof(_settings_game.game_creation.generation_seed));
 
	}
 

	
 
	virtual void OnNewGRFsScanned()
0 comments (0 inline, 0 general)