Это действительно сводит меня с ума:Eclipse, с ++ 11 // вектор
#include <iostream>
#include <vector>
#include <string.h>
#include <thread>
using namespace std;
void test() {
vector<string> myvector;
string a("Teststring");
myvector.push_back(a);
cout << myvector.begin()->length() << endl;
}
int main() {
thread(test).join();
return 0;
}
Код компилируется нормально с -std = C++ 11 флагов для компилятора и -pthread флага компоновщика ,
НО: Затмение делает либо знает зЬй :: бечевки или myvector.begin() -> длина(), даже если код работает нормально затмение предупреждает меня «„длина“метод не может быть решен».
Я пробовал все возможные решения здесь: Eclipse CDT C++11/C++0x support без каких-либо успехов. Это заняло у меня столько часов, что я делаю неправильно ?!
Есть ли у кого-нибудь проблемы с проектом, без проблем с этим кодом?
EDIT: Другой пример кода - та же проблема:
#include <iostream>
#include <vector>
#include <thread>
using namespace std;
class TestClass {
public:
void test() {
cout << "test" << endl;
}
};
void test() {
vector<TestClass> testClassVector;
TestClass x;
testClassVector.push_back(x);
testClassVector.begin()->test();
}
int main() {
thread(test).join();
return 0;
}
компилируется и работает правильно, но возвращается в затмении: метод 'тест' не может быть решена
EDIT:
рабочие варианты:
((TestClass)*(testClassVector.begin())).test();
TestClass foo2 = *(testClassVector.begin());
foo2.test();
до сих пор не работает:
testClassVector.begin()->test();
Последние компилирует и работает как над ними, но затмение по-прежнему утверждает:
метод 'тест' не может быть решена
Try '#include' –
James
Пробовал, не решает проблему. – christian667