为什么赢了';这不管用吗?C++; 最近我开始学习C++的基础知识,通过Bjarne Stroustrup写的一本书,我在使用向量的方式来创建结构的时候遇到了一个问题。
产生的错误表示变量或字段“vector_init”声明为void, “Vector”未在此作用域中声明,“v”未在此作用域中声明,应在“int”之前声明主表达式为什么赢了';这不管用吗?C++; 最近我开始学习C++的基础知识,通过Bjarne Stroustrup写的一本书,我在使用向量的方式来创建结构的时候遇到了一个问题。,c++,C++,产生的错误表示变量或字段“vector_init”声明为void, “Vector”未在此作用域中声明,“v”未在此作用域中声明,应在“int”之前声明主表达式 using namespace std; int main(int argc, char const *argv[]) { struct Vector { int sz; // number of elements double* ele
using namespace std;
int main(int argc, char const *argv[])
{
struct Vector {
int sz; // number of elements
double* elem; // pointer to elements
};
Vector my_first_vector;
return 0;
}
void vector_init(Vector& v, int s)
{
v.elem = new double[s]; // allocate an array of s doubles
v.sz = s;
}
你应该:
struct Vector {
int sz; // number of elements
double* elem; // pointer to elements
};
在主屏幕的外部和上方您应该移动:
struct Vector {
int sz; // number of elements
double* elem; // pointer to elements
};
在
main
外部和上方,错误消息的意思与它所说的完全一致;您已经在main
的范围内声明了结构Vector
。除了main
,没有其他函数知道什么是Vector
。要解决此问题,请将struct Vector
的定义移到main
块之外。错误消息的意思与它所说的完全相同;您已经在main
的范围内声明了结构Vector
。除了main
,没有其他函数知道什么是Vector
。要解决此问题,请将struct Vector
的定义移到main
块之外。您的代码有一些问题。。。下面是一个允许它编译的修复程序:您需要在main
之外声明struct Vector
using namespace std; // <~ this is bad practice. Try to not use it (or minimize its scope)
struct Vector {
int sz; // number of elements
double* elem; // pointer to elements
};
int main(int argc, char const *argv[])
{
Vector my_first_vector;
return 0;
}
void vector_init(Vector& v, int s)
{
v.elem = new double[s]; // allocate an array of s doubles (also leaks memory)
v.sz = s;
}
使用命名空间std;// 您的代码有一些问题。。。下面是一个允许它编译的修复程序:您需要在main
之外声明struct Vector
using namespace std; // <~ this is bad practice. Try to not use it (or minimize its scope)
struct Vector {
int sz; // number of elements
double* elem; // pointer to elements
};
int main(int argc, char const *argv[])
{
Vector my_first_vector;
return 0;
}
void vector_init(Vector& v, int s)
{
v.elem = new double[s]; // allocate an array of s doubles (also leaks memory)
v.sz = s;
}
使用命名空间std;//欢迎来到堆栈溢出。对于将来的问题,你可能想考虑一个更具描述性的标题。此外,我建议在帮助中心阅读。永远不要使用名称空间std;永远不会。欢迎来到堆栈溢出。对于将来的问题,你可能想考虑一个更具描述性的标题。此外,我建议在帮助中心阅读。永远不要使用名称空间std;从未。