Sign in to follow this  
Trillian

MSVC gone crazy?

Recommended Posts

Trillian    410
Hello MSVC (2005 express) just got completely crazy. It now keeps outputting dumb errors when I compile including : 1- Error C3872: '0xa0': this character is not allowed in an identifier 2- Error C3646: 'const ' : unknown override specifier 3- Error C3646: ' ' : unknown override specifier I've looked up an ASCII table and 0xa0 corresponds to "À", but with the sign in the opposite direction. The most surprising error is still the whitespace which is an unknown override specifier. Anyways, here's the faulty code :
// gamestate.hpp
// I trimmed down E-V-E-R-Y-T-H-I-N-G else.
class GameState
{
public:
	virtual ~GameState() {}

	virtual bool propagateUpdate() const = 0; // Errors #1 and #2, "const" not syntax colored
	virtual bool propagateRender() const = 0; // Errors #1 and #2, "const" not syntax colored
};

// dummy.cpp
// Only for bug isolation purposes
#include "gamestate.hpp"

I can't wrap my head around these errors, they seem completely crazy to me. Can anyone make sense of them?

Share this post


Link to post
Share on other sites
Trillian    410
Damned... I've hex-edited the file and it seems that the whitespace between the "const" and the "=" was actually a 0xa0 instead of an all-friendly 0x20. Now the real question comes : how could my spacebar decide to write a 0xa0 instead of a normal ox20 whitespace?

I think I shall never understand this bug o.O

EDIT : I actually might have guessed it with error #2 saying that 'const ' ("const" followed by a seemingly innocent whitespace) was an unknown override specifier.

Share this post


Link to post
Share on other sites
Mike.Popoloski    3258
Create an entirely new project and retype the affected files by hand. If that doesn't work, then I guess you're screwed. :)

EDIT: Can you simply replace the affected spaces? Does all of your space bar pressed put out 0xa0?

Share this post


Link to post
Share on other sites
phil_t    8084
Has every single 0x20 in your files turned into 0xa0? If it's just those two, could it be data corruption... 0xa0 is only 1 bit off from 0x20.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this