0
我在Qt中有一個完美的工作項目,我不得不添加一個外部庫(* .h和* .cpp)來繼續工作。然而,添加這些文件到項目後,我突然有48個錯誤,他們開始與命名空間的問題......庫Qt和名稱空間錯誤
這裏是我的.pro文件:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = ean
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
IntervalArithmetic.cpp
HEADERS += mainwindow.h \
IntervalArithmetic.h
FORMS += mainwindow.ui
QMAKE_CXXFLAGS += -std=c++11
LIBS += -lmpfr
LIBS += -lgmp
這裏是一開始我* .h文件中加入:
#ifndef INTERVALARITHMETIC_H_
#define INTERVALARITHMETIC_H_
#include <iostream>
#include <string>
#include <sstream>
#include <exception>
#include <fenv.h>
#include <stdlib.h>
#include <stdint.h>
#include <mpfr.h>
using namespace std;
namespace intervalarth
{
struct interval
{
long double a, b;
};
class IntervalArithmetic
{
public:
IntervalArithmetic();
...
這裏是相應的* .cpp文件的開頭:
#include "IntervalArithmetic.h"
#include <sstream>
#include <iomanip>
#include <stdexcept>
#include <cfenv>
#include <cstdlib>
#include <cstdint>
#include <climits>
#include <cmath>
#include "mpfr.h"
using namespace std;
using namespace IntervalArithmetic;
...
個錯誤就可以看到這樣的畫面:
你能幫幫我嗎?
您應該**從不**在頭文件中使用'using namespace ...'。即使在cpp文件中也不鼓勵。 – Erbureth