請問有關函數呼叫的問題 |
答題得分者是:syntax
|
chang1981
一般會員 發表:31 回覆:28 積分:11 註冊:2008-09-18 發送簡訊給我 |
各位板上的先進大家好 小弟最近正在利用BCB試圖開發一些簡單的影像處理工具
但是在函數呼叫上卻碰到了以下問題 呼叫的架構是 影像處理函式定義在 image_fun.h中 原型寫在 image_fun.cpp 中 image_fun.h如下 [code cpp] //--------------------------------------------------------------------------- #ifndef image_funH #define image_funH //--------------------------------------------------------------------------- #endif namespace image{ void binarize(const AnsiString Filename,TImage *Image2); } [/code] image_fun.cpp如下 [code cpp] //--------------------------------------------------------------------------- #include #include #include #include #include #pragma hdrstop #include "image_fun.h" #include "image.h" //--------------------------------------------------------------------------- #pragma package(smart_init) void __fastcall binarize(const AnsiString Filename,TImage *Image2) { 巴拉巴拉有很多程式碼在裡面 } [/code] 主程式在 image.cpp當中要呼叫binarize [code cpp] #include #include #include #include #include #pragma hdrstop #include "image.h" #include "image_fun.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" Tmain_form *main_form; using image; void __fastcall Tmain_form::binarizeClick(TObject *Sender) { const AnsiString Filename = "c:\\24b.bmp"; image::binarize(Filename,Image2); 以下省略 } [/code] 按照以上寫法 卻出現錯誤訊息 [C Error] image.cpp(17): E2070 Invalid use of namespace 'image' 小弟實在不了解哪裡寫作 因為功力太低 還請各位前輩幫幫我 感謝!! |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
===================引 用 chang1981 文 章=================== 各位板上的先進大家好 小弟最近正在利用BCB試圖開發一些簡單的影像處理工具 但是在函數呼叫上卻碰到了以下問題 呼叫的架構是 影像處理函式定義在 image_fun.h中 原型寫在 image_fun.cpp 中 image_fun.h如下 [code cpp] //--------------------------------------------------------------------------- #ifndef image_funH #define image_funH //--------------------------------------------------------------------------- #endif namespace image{ void binarize(const AnsiString Filename,TImage *Image2); } [/code] image_fun.cpp如下 [code cpp] //--------------------------------------------------------------------------- #include #include #include #include #include #pragma hdrstop #include "image_fun.h" #include "image.h" //--------------------------------------------------------------------------- #pragma package(smart_init) void __fastcall binarize(const AnsiString Filename,TImage *Image2) { 巴拉巴拉有很多程式碼在裡面 } [/code] 主程式在 image.cpp當中要呼叫binarize [code cpp] #include #include #include #include #include #pragma hdrstop #include "image.h" #include "image_fun.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" Tmain_form *main_form; using image; void __fastcall Tmain_form::binarizeClick(TObject *Sender) { const AnsiString Filename = "c:\\24b.bmp"; image::binarize(Filename,Image2); 以下省略 } [/code] 按照以上寫法 卻出現錯誤訊息 [C Error] image.cpp(17): E2070 Invalid use of namespace 'image' 小弟實在不了解哪裡寫作 因為功力太低 還請各位前輩幫幫我 感謝!! |
chang1981
一般會員 發表:31 回覆:28 積分:11 註冊:2008-09-18 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
namespace 的用法你要多參考一些資料。你可以用三種方法:
1直接用 Namespace::member 2用using指其中成員 using Namespace::member; member = ...... 3用using含蓋所有成員 using namespace Namespace; member =...... ; member2 = ........
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
chang1981
一般會員 發表:31 回覆:28 積分:11 註冊:2008-09-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |