标签: visual-c++

什么数据类型是32位操作系统中的16位和64位操作系统中的32位?

我正在寻找一种数据类型(将用作索引),它应该是32位操作系统中的16位和64位操作系统中的32位.我使用VS2010,我知道可以使用HALF_PTR,但是当用于索引时听起来不太好我仍然可以将它定义为更有意义的名称,但在此之前我可以使用任何已定义的数据类型这个目的?

c++ 32bit-64bit visual-c++

-1
推荐指数
1
解决办法
121
查看次数

为什么(cont = 100; cont> = 20; cont- = 10)只返回一个值而不是一个系列

为什么下面这段代码没有返回像... 100 90 80 70 60 50 40 30 20这样的系列,它返回数字10?

using namespace std;
int main()
{
 int cont;
 for(cont=100; cont>=20; cont-=10);
 {
   cout<< " "<<cont;
 }
 cout<< "\n";
 system("pause");
}
Run Code Online (Sandbox Code Playgroud)

抱歉我的愚蠢问题..我现在开始学习c ++

谢谢

c++ visual-c++ c++11

-1
推荐指数
1
解决办法
128
查看次数

即使通过结束进程也无法关闭基本C++程序

每当我编译一个基本程序,即使是一个简单的"Hello,world!",程序在尝试关闭时也会无响应.我甚至无法通过任务管理器结束这个过程.关闭程序的唯一解决方案是重新启动计算机.

我正在运行Windows 7 Ultimate 64bit,我使用Visual C++,Gygwin GCC和GNU GCC与CodeBlocks和Eclipse.

#include <iostream>

int main()
{
    using namespace std;
    cout << "Hello, world!";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间!

c++ compiler-construction visual-c++

-1
推荐指数
1
解决办法
185
查看次数

无法从'unsigned int*'转换为'LPDWORD'

我有以下代码:

size_t lufread(void *ptr,size_t size,size_t n,LUFILE *stream)
{ 
    unsigned int toread = (unsigned int)(size*n);
    if (stream->is_handle)
    { 
        DWORD red; 
        BOOL res = ReadFile(stream->h,ptr,toread,&red,NULL);
        if (!res) 
            stream->herr=true;
        return red/size;
    }
    if (stream->pos+toread > stream->len) 
        toread = stream->len-stream->pos;
    memcpy(ptr, (char*)stream->buf + stream->pos, toread); 
    DWORD red = toread;
    stream->pos += red;
    return red/size;
}
Run Code Online (Sandbox Code Playgroud)

这是编译器错误:

error C2664: 'ReadFile' : cannot convert parameter 4 from 'unsigned int *' to 'LPDWORD'
Run Code Online (Sandbox Code Playgroud)

我不明白,因为DWORD red是相同unsigned long red
所以在函数ReadFile()第四个参数&red应该是unsigned long …

c++ visual-c++ c++11

-1
推荐指数
1
解决办法
3458
查看次数

为什么静态const char []作为公共类字段是错误的?

当我将static const char[]我的类作为公共字段添加到我的类时,编译器会给我错误,但是static const int它很好.为什么,我该如何解决?

class example
{
public:
    static const int num2 = 5;// fine
    static const char num[] = "test";// problem
};
Run Code Online (Sandbox Code Playgroud)

c++ static-members visual-studio-2010 visual-c++

-1
推荐指数
1
解决办法
278
查看次数

C++,这段代码说了什么?

我是一个特尔斐人,在这里喝醉了,试图弄清楚这个C++代码在这里但是不知道.. thanx

char sc[] = "\x31.....";


int main(int argc, char **argv)
{
    int (*f)();
    f = (int (*)())sc;
    (int)(*f)();
}
Run Code Online (Sandbox Code Playgroud)

"sc"是一个字母

c++ visual-c++

-1
推荐指数
1
解决办法
131
查看次数

C++模板化类"没有合适的默认构造函数"

我在C++中为链表创建了一个Node类:

template <class T> class Node {
public:
    T val;
    Node* next;
    Node(T val) {
        this->val = val;
        this->next = nullptr;
    }
    ~Node() {
        Node<T>* temp = this->next;
        if (temp != nullptr && temp->next != nullptr)
            delete(temp->next);
    }
};
Run Code Online (Sandbox Code Playgroud)

在尝试tp初始化时:

definition: 
Node<Device>* devices;
code (in function):
this->devices = new Node<Device>({ this->serial_counter, name });
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误C2512'设备':没有合适的默认构造函数健身房c:\ users\amitm\onedrive \מסמכים\ visual studio 2015\projects\gym\gym \node.h 7

第7行:

Node(T val) {
Run Code Online (Sandbox Code Playgroud)

此外,如果需要,这是"设备"构造函数:

Device::Device(int id, char* name) {
    this->id = id;
    strcpy(this->name, name);
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?我在网上看了一个多小时,找不到适合我的解决方案.

c++ visual-c++ template-classes

-1
推荐指数
1
解决办法
840
查看次数

"A使用B,正在定义"是什么意思?

现在我按照规则要求做了,并且首先看看是否已经回答了这个问题,虽然我确实找到了一个帖子,但它未能解决我的具体问题,因此我自己问.

对于一个简短的上下文,这个错误在我正在制作的双链表列表的节点类中,因此很明显节点必须对其进程和前面的邻居有一些了解

以下代码......

    template<class T> class dslListNode
    {
    public:
        dslListNode(T data, dslListNode<T>* next, dslListNode<T>* prev)
        : m_data(data)
        {
            this->m_next = next;
            this->m_prev = prev;
        }

        T m_data;
        dslListNode<T>* m_next, m_prev;   //<-- line twelve
        void purge()
        {
            if (this->m_next != NULL)
            {
                this->m_next->purge();
                delete this->m_next;
            }
        }
    private:
    };
Run Code Online (Sandbox Code Playgroud)

...在第十二行不会停止给我以下错误

Error   C2460
'dslListNode<T>::m_prev': uses 'dslListNode<T>', which is being defined
Run Code Online (Sandbox Code Playgroud)

所以你...

我老实说不知道现在发生了什么,我在c ++的技能还没达到我理解为什么会发生这种事情的程度,到目前为止互联网没有帮助这方面,因此我请求帮忙.

为什么会发生这种情况,我该怎么做才能解决它?

为我的语法和拼写道歉btw = D.

谢谢先进=)

c++ visual-studio visual-c++ visual-studio-2015

-1
推荐指数
1
解决办法
755
查看次数

提到'距离'是模棱两可的

编译以下代码时,我收到错误

提到'距离'是模棱两可的

    #include<iostream>
using namespace std;
class distance
{
    int feet,inches;
    distance():feet(0),inches(0)
    {

    }
    distance(int f,int i):feet(f),inches(i)
    {
    }

    void show()

    {
        cout<<"feet  "<<feet;
        cout<<endl<<"inches   "<<inches;
    }

    distance operator + (distance) ;
};

distance distance::operator + (distance d)
{
    int f,i;
    f=feet+d.feet;
    i=inches+d.inches;
    return distance(f,i);
}

int main()
{
    distance d1;
    distance d2(2,3),d3(7,5);;
d1=d2+d3;
d1.show();
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个错误.并为我提供解决方案,以及为什么我收到此错误.

c++ visual-c++

-1
推荐指数
1
解决办法
9722
查看次数

SysFreeString没有释放变量

任何人都可以帮助我理解为什么下面的代码在分配后没有释放内存.

BSTR ys;
{
    ys = ::SysAllocString(L"Asdfghjk");
    {
        ::SysFreeString(ys);
    }
}
wcout << ys; // *I could see "Asdfghjk" in console window*
Run Code Online (Sandbox Code Playgroud)

c++ com winapi visual-c++

-1
推荐指数
1
解决办法
231
查看次数