簡體   English   中英

如何在C ++的頭文件中使用vector數據類型?

[英]How can I use the vector datatype in a header-file in C++?

我在矩陣下面有這個結構。 當我在main.cpp中聲明它時,它可以正常工作,但是由於程序變得更加復雜,我決定將其換出。 所以我的頭文件看起來像這樣:

    #ifndef MATRIX_STRUCT_H
    #define MATRIX_STRUCT_H

    #include <vector>

    // Matrix datatype
    struct matrix_ {
        // Matrix dimension m x n
        unsigned int dimX; // n
        unsigned int dimY; // m
        bool square;
        // Matrix coefficients
        vector <vector <double>> coef;
    };
    typedef struct matrix_ matrix;

    #endif // MATRIX_STRUCT_H

我現在#include <vector>的問題是,第4行#include <vector>不管是否在這里都沒有區別。 我總是得到第13行的錯誤

error: 'vector' does not name a type

如果您想知道為什么我使用的是結構而不是類,那么我只是從C剛來的,所以我還沒有任何關於類的經驗。

請問有人可以幫助我嗎? 放棄這些結構而只專注於課堂會更好(會有所幫助)嗎?

C ++標准庫在std名稱空間中包含放置新的聲明。 您需要編寫std::vector而不是vector

它可能在您的.cpp文件中起作用的原因是,您在行頂部附近using namespace std ,從而將命名空間std所有內容都帶入了本地命名空間。 是不好的做法 ,我建議您停止這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM