TL;DR
UTF-8 S Kusovník může také způsobit problémy.
PROBLÉM
Právě jsem měl stejný problém a vyzkoušel jsem spoustu možných řešení, ale žádné z nich nefungovalo, dokud jsem nezjistil zdroj problému, což bylo trochu legrační. Vím, že tato otázka již byla zodpovězena, ale své řešení zapisuji, možná to vyřeší problém někoho jiného, kdo trpí stejným problémem.
Například se mi zobrazilo "Nelze vyřešit identifikátor Vector" při definování struct Vector
, i když to bylo správné:
Při deklarování/definování funkcí atd. se mi objevilo mnoho chyb podobných této. Navíc moje pomoc s kódem nefungovala kvůli množství chyb.
ŘEŠENÍ
-
Otevřel jsem soubor
.cpp
soubor v Notepad++ a viděli, že soubor byl zakódován v běžném UTF-8 , což znamená, že soubor začíná znakem značky pořadí bajtů (BOM) : -
Tak jsem kliknul na Kódování → Převést na UTF-8 bez kusovníku :
Poznámka: NEPŘEPŇUJTE pouze na "Kódovat v UTF-8 bez kusovníku" , protože to může zkazit některé speciální znaky (např. znaky obsahující diakritiku atd.). Takže převeďte to.
-
Uložit
-
Problém zmizel:v NetBeans již nejsou hlášeny žádné chyby:
Doufám, že to ušetří čas i někomu jinému.
Zde je výňatek z mé odpovědi na jinou otázku.
Nevyřešený identifikátor
Pokud zdroj souboru .cpp vypadá takto
Klikněte pravým tlačítkem myši na svůj projekt.
Zkontrolujte C/C++ Code As...
Spusťte Reparse Project.
Pokud to nestačí.
Přejděte na Project Properties
Vyplňte Include
vstupní pole, jak je popsáno.
Nastavte správnou cestu zahrnutí.
Doufám, že vám to pomůže.
Měl jsem stejný problém, ale poznal jsem, že se objevuje poté, co jsem změnil vlastnosti-> kompilátor c++ -> řádek kompilace -> další možnosti na -std=c++11. pokud změníte nastavení na výchozí, chyba "unable to resolve identifier" zmizí.