Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
637 views
in Technique[技术] by (71.8m points)

g++ - no error for missing c++ function declaration

With g++, compiling the following code will return error: ‘test’ was not declared in this scope. But Arduino C++ compiler will NOT fail as such. Why? And how can I get gcc/g++ to hoist functions like the Arduino compiler apparently does?

void setup() {
  test();
}

void loop() {}

int test() { return 1; }

I've felt for a long time that if Javascript, Perl, etc. can hoist functions, it seems beyond reasonable for the C/C++ pre-processor to allow the same.


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

1 Answer

0 votes
by (71.8m points)

I guess you probably need an additional preprocessor for that. I have personally never tried it, but maybe protoize would be interesting for you!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...