[問題] include funcitons and classes
想要問一個C++的問題:
當一個header file裡面宣告並且定義了一個function:
// test.h
#ifndef TEST_H
#define TEST_H
int func() {return rand();}
#endif
接下來有兩個.cpp都include test.h,compiler在link的時候
會給redefinition of func()的error。
但是如果是class而不是function:
// test.h
#ifndef TEST_H
#define TEST_H
class A {};
#endif
兩個cpp也都inlcude test.h的情況下就不會有error
這樣的話在link的時候,在兩個.o裡面應該也都有class的宣告跟定義。
請問為什麼不會有redefinition的問題呢?
先謝謝各位不吝賜教的大大:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.171.142
推
04/12 14:35, , 1F
04/12 14:35, 1F
→
04/13 16:28, , 2F
04/13 16:28, 2F
推
04/13 16:59, , 3F
04/13 16:59, 3F
→
04/13 17:00, , 4F
04/13 17:00, 4F
推
04/13 22:00, , 5F
04/13 22:00, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):