Я получаю много ненужных синтаксических ошибок с VS2010, и я понятия не имею, откуда они. Вот некоторые из ошибок, которые получилиНесколько необъяснимых синтаксических ошибок в Visual Studio C++
хотя есть на самом деле еще больше. Этот конкретный файл - это тот, который я получил от кого-то, с кем я работаю, и он отлично работает в своей системе, поэтому он не должен быть кодом, независимо от того, что я добавил часть фрагмента кода ниже, которая включает в себя хороший бит синтаксические ошибки я не понимаю:
#include "stdafx.h"
#pragma once
//#include "TwoToFourTree.h"
template<class ItemType>
TwoToFourTree<ItemType>::TwoToFourTree()
{
rootPtr = new QuadNode<ItemType>();
}//Default
template<class ItemType>
TwoToFourTree<ItemType>::TwoToFourTree(const ItemType& anItem)
{
rootPtr = new QuadNode<ItemType>(anItem);
} // Default with item
template<class ItemType>
TwoToFourTree<ItemType>::~TwoToFourTree()
{
} // Destructor(needs removal function to be finished)
template<class ItemType>
QuadNode<ItemType>* TwoToFourTree<ItemType>::getRootPtr()
{
return rootPtr;
} // Returns root pointer
линия 8 с изображения начинается с первым объявлением методы (конструктор по умолчанию). Есть ли установка, которая может вызвать всю эту глупость? Я искал везде, и я понятия не имею, как подойти к этому.
Всегда публиковать сообщения об ошибках как текстовые сообщения. Изображения не полезны, как вы видите. –
Если я правильно помню, вы не можете реализовать функции-члены класса шаблонов в отдельном исходном файле. Если вы не включите файл .cpp вместо .h, вы получите массу нерешенных ошибок внешних символов в компоновщике, когда вы попытаетесь их использовать. С этой точки зрения кажется, что первая ошибка исходит из отсутствующей точки с запятой после слова 'template' очень рано в файле. Возможно, вам не хватает точки с запятой в конце объявления класса в файле заголовка. Если это не так, можете ли вы показать нам заголовок? –
'TwoToFourTree' является ошибкой, потому что 'TwoToFourTree' не определен. Другие ошибки каскадом от этого. –