woods
一般會員
![](./myimg/board/mystar_empty.gif)
![](images/icon_photo_none.gif) 發表:11 回覆:8 積分:3 註冊:2003-10-14
發送簡訊給我
|
能幫我看看
是那裡出錯了嗎?? compile後出現 g++ -c main3.cpp -o main3.o main3.cpp: In function `void readupperData (basic_string , __default_alloc_template >,
vector > *)':
main3.cpp:58: `f1' undeclared (first use this function)
main3.cpp:58: (Each undeclared identifier is reported only once for
each function it appears in.)
main3.cpp: In function `void readdownData (basic_string, __default_alloc_template >,
vector > *)':
main3.cpp:87: `f2' undeclared (first use this function)
#include
#include
#include
#include
#include <math.h>
#include
#include
#include
#include
#include
|
mieng
中階會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:12 回覆:97 積分:81 註冊:2003-10-31
發送簡訊給我
|
sorry~~偶只看出您的 f1 和 f2 未定義的錯誤, 把下面兩行寫在.h檔裡試試
void readupperData(string, vector*);
void readdownData(string, vector*);
學習中請大家多多指導呦~~
☆星霧☆(Mineg Chien WU)
|
woods
一般會員
![](./myimg/board/mystar_empty.gif)
![](images/icon_photo_none.gif) 發表:11 回覆:8 積分:3 註冊:2003-10-14
發送簡訊給我
|
我後來可以compile過了
但是執行時會有錯誤
能幫我看看那裡有邏輯上的錯誤嗎 錯誤都會無法讀入檔案
Cannot open input file:
#include
#include
#include
#include
#include <math.h>
#include
#include
#include
#include
#include
|
woods
一般會員
![](./myimg/board/mystar_empty.gif)
![](images/icon_photo_none.gif) 發表:11 回覆:8 積分:3 註冊:2003-10-14
發送簡訊給我
|
|
mieng
中階會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:12 回覆:97 積分:81 註冊:2003-10-31
發送簡訊給我
|
無法讀入檔案,通常都是檔案路徑錯誤或是檔案不存在造成的,您可以先從這方面檢查看看~其他的我的經驗不足無法幫忙囉~=..=~ 學習中請大家多多指導呦~~
☆星霧☆(Mineg Chien WU)
|
mieng
中階會員
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:12 回覆:97 積分:81 註冊:2003-10-31
發送簡訊給我
|
當您的程式跑到 ifstream in(a.c_str()); 這時,因為a為空字串,所以無法開啟檔案,b的情形相同
for(int i = 0; i < argc; i )
{
if ((strcmp(argv[i], "f1.txt") == 0) && (i != argc - 1))
{
a = argv[i 1];
break;
}
}
上面這段程式因為argv內容為程式名,因此不會進到if內指定a的內容,所以您的a為空字串,
當程式跑到 readupperData(a, &x); 函式時,因為您的a為空字串,故無法開啟檔案,所以需要自行指定a的內容,或由使用者輸入,但不幸的是你加了下面這段程式,造成您指定a的內容為"f1.txt"後,就直接離開了,所以在最下面的程式中我把這兩段程式都拿掉了,如果你要把下面這段程式加進去的話,我想改成 if(a != "f1.txt") 應該才對。
if ( a == "f1.txt")
{
cout <<"Please give a filename for tsplib data by including the pair"
<< " \"file \" on the command line.\n";
exit(0);
}
試試下面的程式是否是您所需要的
#include
#include
#include
#include
#include <math.h>
#include
#include
#include
#include
#include PS:第一次玩dos下的程式~不太習慣~=..=~
學習中請大家多多指導呦~~
☆星霧☆(Mineg Chien WU) 發表人 - mieng 於 2003/11/27 17:24:33
|
woods
一般會員
![](./myimg/board/mystar_empty.gif)
![](images/icon_photo_none.gif) 發表:11 回覆:8 積分:3 註冊:2003-10-14
發送簡訊給我
|
太感謝你了
我感動的痛哭流涕
謝謝
|