错误:应为(‘;)’;在‘之前<’;代币 我正在努力学习C++的一本书。我使用std::initializer\u list编写了这个类定义,以便用元素列表初始化向量。Vector.h文件如下所示: class Vector { public: Vector(int s); ~Vector(); Vector(std::initializer_list<double>); void push_back(double); double& operator[](int i); int size(); private: double* elem; int sz; };
我正在使用Code::Blocks width GNU GCC编译器,并且没有激活额外的编译器标志。我已经尝试过在代码中检查“有G+遵循C++ +0xISO C++语言标准[-STD= C++ +0x]”:块,但是错误仍然存在,三个新的增加。 您丢失了<代码>包含< /代码>错误:应为(‘;)’;在‘之前<’;代币 我正在努力学习C++的一本书。我使用std::initializer\u list编写了这个类定义,以便用元素列表初始化向量。Vector.h文件如下所示: class Vector { public: Vector(int s); ~Vector(); Vector(std::initializer_list<double>); void push_back(double); double& operator[](int i); int size(); private: double* elem; int sz; };,c++,compiler-errors,C++,Compiler Errors,我正在使用Code::Blocks width GNU GCC编译器,并且没有激活额外的编译器标志。我已经尝试过在代码中检查“有G+遵循C++ +0xISO C++语言标准[-STD= C++ +0x]”:块,但是错误仍然存在,三个新的增加。 您丢失了包含< /代码> lst.size()而不是lst.size 和lst.end()而不是ls.end()。 请记住在编译中启用c++11。您确实为?lst.size()包含了正确的头文件,然后下一行lst.size,是哪一个?请发布完整的代码,以便
lst.size()
而不是lst.size
和lst.end()
而不是ls.end()
。
请记住在编译中启用c++11。您确实为?
lst.size()
包含了正确的头文件,然后下一行lst.size
,是哪一个?请发布完整的代码,以便我们可以复制。还要添加您的编译器版本和传递的标志。一些编译器还不支持std::initializer\u list
,或者需要标志来启用该支持。我已尝试添加#include
,但仍然存在错误。我使用的GNC GCC编译器在代码::块中没有激活额外的编译器标志。谢谢。我已编辑代码以使用lst.size()
和拼写错误。我还添加了#include
。C++ C++ C++语言中的错误是:(你是否添加了STD=C++ +0x到C++的11个特性?我刚刚检查了一个选项,上面写着“G+++遵循C++0x ISO C++语言标准[-STD= C++ +0x]”。现在我已经在打开的帖子中加了2个错误加上了3个新的错误://<代码> /Media/PytoCtos/C/Test/vector。H 6错误:预期的““before”我已经关闭并再次打开代码::Blocks,它现在可以工作了(o_o)。非常感谢你的帮助
error: expected ‘)’ before ‘<’ token
#include "Vector.h"
#include <stdexcept>
using namespace std;
Vector::Vector(int s)
{
if(s < 0)
{
throw length_error("Vector::operator[]");
}
elem = new double[s];
sz = s;
}
Vector::~Vector()
{
delete[] elem;
}
Vector::Vector(std::initializer_list<double> lst)
{
elem = new double[lst.size()];
sz = static_cast<int>(lst.size());
copy(lst.begin(), lst.end(), elem);
}
double& Vector::operator[](int i)
{
if(i<0 || i>=size())
{
throw out_of_range("Vector::operator[]");
}
return elem[i];
}
int Vector::size()
{
return sz;
}
error: expected constructor, destructor, or type conversion before ‘(’ token