complex宣告與使用 |
尚未結案
|
blink182
一般會員 發表:4 回覆:2 積分:1 註冊:2002-04-22 發送簡訊給我 |
各位好
請教各位兩個問題
小弟最近在寫傅立葉,站上資源豐富,
讓小弟省了許多麻煩,先謝謝各位
不過遇到了complex的問題,請教各位
1.要宣告complex,是否加入這兩行即可
#include < complex >
using namespace std;
這兩行是從help的範例抄下來的,第二行指的是蛇麼
因為我從來沒用過
2.以下程式碼發生錯誤訊息為
[C Error] Unit1.cpp(71): E2015 Ambiguity between 'std::pow(double,double)' and '_STL::pow(const _STL::complex
void __fastcall TForm1::FFT_Translation(Graphics::TBitmap *input,complex發表人 - blink182 於 2005/09/06 17:21:44 發表人 - blink182 於 2005/09/06 17:40:13 |
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
namespace 是所謂的命名空間
STL 所提供的諸多元件都是放在 std namespace裡面
所以要用的時候要指明使用的namespace是std
你可以進去complex檔案裡面看看, class complex 是宣告在std namespace 裡面的 第二個問題是你include的檔案中有兩個pow宣告符合你呼叫時的需求
一個是 std::pow(double, double) 、另一個是 _STL::pow(const _STL::complex &,int) ,因此編譯器發生困惑
一個解決方法是把
pow(-1,i j)改成 pow(-1, double(i j)),以便讓std::pow吻合
要不然就檢查一下你在那邊include到 _STL::pow ,把那個include檔刪除
還有一個方法是指定用其中一個, ex:
pow(-1,i j)改成std::pow(-1,i j)
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |