[問題] C++要如何宣告?
開發平台(Platform): (Ex: Win10, Linux, ...)
Ubuntu 17.04
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
G++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
omp
問題(Question):
大家好,我試著把我的C的檔案改成C++來使用,但是因為我的變數是另外在.h檔裡面宣告
後,再在main裡面來使用,並且用 #include "xxxx.hpp" 給main和main下面的其他子程式
使用,原本C這樣做沒問題,但這時改成C++後問題就來了,如果我在xxxx.hpp裡面用C原
本的宣告方式,如下
double x,y,vx,vy,......;
int i,j,k,l,......;
double f[10][10],......;
編譯後顯示
initial.o:(.bss+0x0): multiple definition of `x'
main.o:(.bss+0x0): first defined here
initial.o:(.bss+0x8): multiple definition of `v'
main.o:(.bss+0x8): first defined here
.
.
.
collect2: error: ld returned 1 exit status
Makefile:15: recipe for target 'a.out' failed
make: *** [a.out] Error 1
而後我改用
class xxxx
{
//宣告變數
public:
.
.
.
}
雖然這樣會成功,但我必須要在每一個變數前面加上xxxx.
也就是說我必須要在每個子程式裡面寫成
xxxx test
test.f[ix][iv] = xxxx.x*xxxx.v
這樣的形式,每次都要打很多字母,其實有點麻煩,請問有沒有比較簡化的語法呢?
可以讓我即使是在一個檔案裡面宣告好參數,就可以在所有的檔案裡面使用,對於C++還
不是很熟,還請指點迷津,先謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.73.183
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1518459173.A.AC6.html
→
02/13 04:21,
7年前
, 1F
02/13 04:21, 1F
→
02/13 04:21,
7年前
, 2F
02/13 04:21, 2F
→
02/13 04:23,
7年前
, 3F
02/13 04:23, 3F
→
02/13 04:23,
7年前
, 4F
02/13 04:23, 4F
→
02/13 04:23,
7年前
, 5F
02/13 04:23, 5F
→
02/13 04:25,
7年前
, 6F
02/13 04:25, 6F
推
02/13 06:56,
7年前
, 7F
02/13 06:56, 7F
→
02/13 06:56,
7年前
, 8F
02/13 06:56, 8F
→
02/13 06:56,
7年前
, 9F
02/13 06:56, 9F
→
02/13 06:57,
7年前
, 10F
02/13 06:57, 10F
→
02/13 06:58,
7年前
, 11F
02/13 06:58, 11F
→
02/13 06:59,
7年前
, 12F
02/13 06:59, 12F
推
02/13 07:11,
7年前
, 13F
02/13 07:11, 13F
推
02/13 10:23,
7年前
, 14F
02/13 10:23, 14F
→
02/13 10:34,
7年前
, 15F
02/13 10:34, 15F
→
02/13 10:35,
7年前
, 16F
02/13 10:35, 16F
→
02/13 11:24,
7年前
, 17F
02/13 11:24, 17F