先簡單寫三個funciton,其中sort函式有兩個參數,第一個參數讀入數列的pointer,而第二個參數則是function pointer,即讀入一個function。
max函式是比較兩個值並傳回較大值;min函式是比較兩個值並傳回較小值。
程式碼如下。
#include<iostream>
using namespace std;
int max(int, int);
int min(int, int);
void sort(int*, int (*)(int, int));
int main()
{
int a[] = {1, 2, 4, 5, 3};
sort(a, max);
sort(a, min);
return 0;
}
void sort(int* ptr, int (*array)(int, int)){
cout << array(ptr[2], ptr[1]) << endl;
}
int max(int a, int b){
if(a > b){
return a;
}
else{
return b;
}
}
int min(int a, int b){
if(a < b){
return a;
}
else{
return b;
}
}
其中sort的function prototype第二個參數寫法為int (*)(int, int)。
所代表意思為傳入一個function,這個function傳回值為int,並且帶有兩個參數。而那個(*)所代表的意思就是要讀入一個function pointer。
因此sort的第二個參數可以傳入max函式或者是min函式。
因為最近都是使用ubuntu 沒辦法用MFC去開發視窗程式
才改用gtkmm去寫
只要使用synaptic搜尋libgtkmm2.4-dev並且下載即可 (2.4是版本名稱 下載最新的即可)
後來到官網去查如何compile gtk程式
##CONTINUE##
只要下 g++ -o sample sample.cc `pkg-config gtkmm-2.4 --cflags --libs` 就可以了
不過我還是弄了很久才試成功
最後發現是`這個符號混淆我了 那個符號是最左上角的符號
我一直以為是單引號 害我花了好久的時間阿
不過看到在ubuntu上跑出第一個視窗程式還是有莫名的感動
附上基本視窗原始碼
#include
using namespace std;
int main(int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
Gtk::Window wind;
Gtk::Main::run(wind);
return 0;
}
若要安裝 Office 主要 Interop 組件
1.在 [控制台] 中,選擇 [新增或移除程式]。
2.選取 [目前安裝的程式] 清單中的 [Microsoft Office]。
3.按一下 [變更]。
這是我前一陣子研究的結果
跟大家分享一下
首先要會寫VBA(Visual Basic Application)
不會的請自己研究這邊就不多做敘述
這裡以Excel VBA為例
當寫好VBA module後
在檔案→匯出檔案中將VBA程式碼匯出
將來會使用到
假設匯出的檔案為Module1.bas
