0
我所擁有的是:Visual Studio中不能確定我的全局變量的類型
#include "thread.h"
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
vector<Requester*> requesters; //global
struct Requester {
vector<thread> t;
vector<int> tracks;
};
然後在我的功能,我有:
void serviceQ(){
vector<Requester*> test = requesters; //error
}
的錯誤是:
no suitable user-defined conversion from "std::vector<<error-type> *, std::allocator<<error-type> *>>" to "std::vector<Requester *, std::allocator<Requester *>>" exists
至於這是爲什麼我很困惑。爲什麼它調用我的全局變量函數中的錯誤類型?如果我要這樣做:
void serviceQ(){
vector<Requester*> test;
//do some stuff
vector<Requester*> result = test; //no error
}
然後沒有錯誤。
哇,就是這樣。謝謝!我總是忘記小事情。 – Gawndy
@ user333121沒問題,很高興幫助。一些編譯器的錯誤信息也不是最明顯的。 gcc比較好一點,並且首先明確說明:'錯誤:'請求者'沒有在這個範圍內聲明,所以你至少可以看到錯誤與未定義的類型相關,而不是與向量相關。 – vsoftco