Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
649 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 Reply

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!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...