
C++ IntelliSense: no operator "<<" matches these operands
Ahoj/Dobrý den,
když ve Visual Studiu 2010 Napíšu do C++ projektu kód obsahující proměnou string, objeví se mi error "IntelliSense: no operator "<<" matches these operands". Nevíte co s tím?
Díky
příklad kódu :
#include<iostream>
#include<string>
using namespace std;
int main ()
{
string a = "Text";
cout << a;
getchar();
}
Prelozit to ide a funguje to? Ak ano tak blbne len intellisense. Ak ne, tak mas napr. blbo nastavene cesty na tie include subory apod. Alebo blbo nieco nastavene v projekte.
Takže co mám udělat?
Daj sem reálny kód, pretože tento príklad sa nedá ani skompilovať (lebo getchar). Zrejme tam máš nejaký preklep, ale nejako si zabudol odpovedať na to, či ti to ide vôbec skompilovať.
cez g++ som to v pohode skompiloval.
radsej sa vykasli na visual studio a pouzi nejake lepsie IDE. VS je dobre len na C# a .NET veci.
Kompilácia cez g++ zlyhá z rovnakého dôvodu ako kompilátor od Microsoftu:
Čo sa týka Visual Studia, tak pre C++ asi lepšie IDE ani neexistuje. Jediný problém je, že sa nedá spustiť na iných platformách než Windows.
neviem no. mne to g++ skompilovalo (pod OS X). Neviem co robim zle.
Možno používaš nejaké IDE, ktoré ti tam pridáva ďalšie include súbory? Inak nemá odkiaľ vedieť, čo má funkcia getchar znamenať.
pouzivam sublime text a g++.
Aha, keď som pridal prepínač pre g++ nech používa c++11, tak už include pre cstdio nepotrebuje a skompiluje to (defaultne bez prepínača používalo u mňa c++98). Vyskúšal som teraz aj vo Visual Studiu a tam to skompiluje tiež. Zrejme sa getchar stal povinnou súčasťou štandardnej knižnice a nie je už nutné ho includovať.