我认为它应该能工作,我想要做的是捕获一个值并在屏幕上打印,但是我得到了以下错误。
函数‘C:\Users\luis\Documents\c++\estructura de datos\ejemplo_lista.cpp ()’:80 13 C:\Users\luis\Documents\c++\estructura de datos\ejemplo_lista.cpp错误'list‘在此范围内未声明80 20 C:\Users\luis\Documents\c++\estructura de datos\ejemplo_lista.cpp错误'value’未在此范围内声明
这些天,我正在回顾C++中的微妙点。我发现了一个有趣的问题。请您检查一下,并分享您为什么会这样做的理由。
谢谢
const int x = 5;
void func() {
// ! Error
// int x = x;
// ! Fine
int x[x];
x[0] = 12;
cout << x[0];
}
假设我们要声明三个整数,p、q和r。最佳实践是将它们初始化为0。C这样做的方法是:
int p, q, r;
p = q = r = 0;
C++的方法是
int p(0), q(0), r(0);
在C语言中,事情很好,很紧凑;0只使用过一次。相反,C++调用要求0被重复三次--每个变量一次。有点冗长。
是否有一种使用C++方法初始化变量的更简洁的方法,还是每个变量声明所需的初始值?
另外,C风格初始化与C++代码混合是否有问题?Thx :^)
编辑:正确编译的固定代码。现在,需要两行来声明和初始化变量,所以这个问题不是很好,但我将把它留给后代。希望能帮助别人。
据我所知,在C++中,只要它在所有这些声明中都具有相同的类型,就可以多次声明相同的名称。若要声明int类型的对象,但不定义它,则使用extern关键字。因此,以下内容应该是正确的,并且编译时没有错误:
extern int x;
extern int x; // OK, still declares the same object with the same type.
int x = 5; // Definition (with initialization) and declaration in the same
// time, because ever
int *mergeKArrays(int arr[][n], int k) <--[see below for errors at this line]
{
int *output=new int[n*k];
}
在上面的函数中,我没有在这里包含完整的定义,因为查找错误是没有用的。
主函数是这样的,我在这里调用mergeKArrays函数。
int main()
{
int arr[][n]={{2, 6, 12, 34},
{1, 9, 20, 1000},
{23, 34, 90, 2000}};
int
我一直在学习C++,我遇到过静态变量(我对C89有先验知识),在我使用的资源中,他们在类中声明了一个静态变量,如下所示:
class nameHere
{
public:
static int totalNum;
}
int nameHere::totalNum = 0;
int main()
{}
例如。我不明白的是,既然我已经在类定义中声明了静态变量是整数,为什么我还需要在类定义之外将其声明为整数呢?像这样简单地初始化它不是很有意义吗:
nameHere::totalNum = 0;
int main()
{}
有没有什么特别的原因或者仅仅是C++的约定?谢谢
我在做一些功能调用的事情,比如:
fun f1(){
// does some stuff
f2();
}
fun f2(){
// does some stuff
f1();
}
这是对我的代码的简化(它不适用于无穷大循环)。我的问题是,它返回了f2未引用的错误。我试着在网上搜索这个函数,但我看到的唯一解决方案是,人们问我应该在哪里将函数移到函数调用之上,但这对我来说行不通,因为我的其他函数也调用了这个函数,并将f2移到f1之上,这只会使f1在从f2调用f1时无法得到解决。
我也尝试了函数声明(函数声明)(c和c++ ),但是它会导致错误,说我有模糊的函数定义,他们
我正在阅读Beginning C#以刷新我对C# (C++背景)的记忆。
我在书中偶然发现了这段代码:
int i;
string text;
for (i = 0; i < 10; i++)
{
text = "Line " + Convert.ToString(i);
Console.WriteLine("{0}", text);
}
Console.WriteLine("Last text output in loop: {0}", text);
上面的代码片段将不会编译-因为根据书中的说法,变量text没有初始化,(仅在
请看一下这些程序:
#include<stdio.h>
int i; //C implementation works fine with this initialization of variable i
i=108;
int main()
{
printf("%d",i);
return 0;
}
在此代码(c++版本)中,它会引发错误:
‘i’不命名为i=99类型;
#include<iostream>
using namespace std;
int i;
i=99;
int main()
{
我在主函数之后又声明了全局变量,但它仍然影响主函数。我知道C允许在第一次声明没有初始化变量时再次声明全局变量(它在c++中不起作用)。如果在主函数之后赋值,它仍然可以在c中使用两个警告,但在c++中会出现错误。
我已经调试了代码,但它从未到达int a=10;行。
#include <stdio.h>
#include <string.h>
int a;
int main()
{
printf("%d",a);
return 0;
}
/*a=10 works fine with following warnings in c.
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0); cin.tie(0);
auto arr = new int[5];
// int arr[5] = {1, 2, 3, 4, 5};
for (auto i: arr){
cout << i << ' ';
}
}
为什么这不管用?我收到一个编译时错误说这句话。
C.cpp: In function 'int m
在创建一个矩阵类以方便多维访问数组时,我偶然发现了一个奇怪的错误:如果为()操作符创建多个重载,Visual C++优化器(2010和2012年)就会崩溃。
我设法隔离了错误。将其作为一个项目中的单个代码文件放置将使其崩溃:
template <class T>
class Foo
{
T& Foo::operator() (int i)
{
return 0;
}
// C1001 - Commenting this second overload makes the compiler work correctly
在实践c++代码时,我使用了for循环中声明的变量。我希望它在另一个for循环中再次使用它。但它显示了一个错误
variable i was not declared in scope
我在Eclipse中尝试了相同的循环,它展示给我
the symbol i was not resolved。
示例代码看起来类似于以下内容:
#include<iostream>
using namespace std;
int main(){
for(int i=0;i<10;i++){
cout<<
当我用C++编译我的项目时,MSVC会引发以下错误:
错误#94:数组的大小必须大于零
在执行相当大的操作时,将在下面的行中抛出错误:
if (sizeof (MyNamespace::MyClass) == 60)
因此,MyClass被定义为:
class MyClass: public ParentClass
{
public:
MyClass( void *pCreate, int a, int b, bool c) :
ParentClass( pCreate, a, b, c ) {}
virtual inli
考虑下列方案:
#include <cstdio>
#include <cmath>
int main()
{
int d = (int)(abs(0.6) + 0.5);
printf("%d", d);
return 0;
}
g++ 7.2.0输出0(参见实时演示 )
g++ 6.3.0 (参见实时演示 )
prog.cc: In function 'int main()':
prog.cc:6:26: error: 'abs' was not declared in this scope
当在Code::Blocks中使用MinGW在WINAPI中使用原始输入特定的函数和结构时,我得到了许多由于缺少函数和结构而导致的编译器错误:
> ||In function 'void find_devices_input()':| |16|error:
> 'RAWINPUTDEVICELIST' was not declared in this scope| |16|error:
> 'GetRawInputDeviceList' was not declared in this scope| |19|error:
>
我是一个C++学习者,我正在尝试编写一个基本的C++项目。这是一个基本的自动化系统。它有一个导航菜单。
Choose an option :
1 ) Add a new customer
2 ) List all customers
...
将有一个nav变量,它包含用户的选择。这是我的源代码:
#include <stdio.h>
#include <clocale>
int nav;
void main()
{
setlocale(LC_ALL,"turkish");
navigasyon();
下面是我试图运行的一个基本代码,但我在使用stoi (它是c++)时遇到了问题,我一直收到错误:
‘stoi’ was not declared in this scope
我尝试了atoi和strtol,但出现了这个错误
.cpp:23: error: cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘int atoi(const char*)’
代码:
using namespace std;
int main(){
string numberGuessed;
int intNumberG