Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have an older c project that uses many variable names that cause it to not compile in c++, new, this etc.

So to try and see if I can get it compiling I have done this:

  1. New empty C++ project
  2. Added a new class, renamed the file .c (code below)
  3. Emptied the header file
  4. Project properties->C/C++->Advanced->Compile As = Compile as C Code (/TC)

Test.c:

#include "Test.h"

int test()
{
    int new = 123;
    return new;
}

But it still complains about new, so it's not compiling it as pure C. What am I missing?

EDIT

I'm aware that new, this etc are reserved names in c++. But I am trying to compile this as c And I'm trying to avoid going though renaming in a massive project. If I tell it to compile as c, why does it still enforce these reserved names?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
247 views
Welcome To Ask or Share your Answers For Others

1 Answer

See the answer here:

https://stackoverflow.com/a/5770919/1191089

There are some additional flags to disable Microsoft extensions which might be applicable.

I know it doesn't answer the question, but you might find that it's less effort to change your variable names, a search and replace on variables called "this" and "new" will only take 5 minutes.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...