如何解决munmap_chunk():C++中的无效指针错误

2023-09-26C/C++开发问题
525

free vpn 本文介绍了如何解决munmap_chunk():C++中的无效指针错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧! 免费vpn

问题描述

我在 C++ 和 OpenCV 中有一个应用程序,它尝试使用 SVMLight 实现的分类模型来添加可用于 OpenCV 下的 HOG Calssificator 的权重值.

I have an application in C++ and OpenCV which tries to use the classification model realized with SVMLight in order to add the weight values vpn free which can be use for HOG Calssificator under OpenCV.

问题是,当我运行应用程序时,出现此错误:

The problem is that when I run the application, I get this 免费vpn下载 error:

./main Converting Model file...
1%3%4%5%7%8%9%11%12%13%15%16%18%19%20%22%23%24%26%27%28%30%31%32%34%35%36%38%39%40%42%43%45%46%47%49%50%51%53%54%55%57%58%59%61%62%63%65%66%67%69%70%72%73%74%76%77%78%80%81%82%84%85%86%88%89%90%92%93%94%96%97%99%100%Skipped
line
*** 免费vpn glibc detected *** ./main: munmap_chunk(): invalid pointer:
0x09926218 ***
======= Backtrace: ========= /lib/libc.so.6(+0x6c501)[0xb6a3d501]
/lib/libc.so.6(+0x6d77e)[0xb6a3e77e]
/usr/lib/tls/libnvidia-tls.so.260.19.26(+0xa20)[0xb4116a20]
./main(_ZN9__gnu_cxx13new_allocatorIfE10deallocateEPfj+0x11)[0x804f7ab]
./main(_ZNSt12_Vector_baseIfSaIfEE13_M_deallocateEPfj+0x25)[0x804f075]
./main(_ZNSt12_Vector_baseIfSaIfEED2Ev+0x37)[0x804e9f1]
./main(_ZNSt6vectorIfSaIfEED1Ev+0x38)[0x804e46a]
./main[0x804bf65]
/lib/libc.so.6(__libc_start_main+0xe7)[0xb69e7ce7]
./main[0x804bd11]
======= Memory map: ======== 08048000-08052000 r-xp 00000000 08:01
27272122  
/home/roccog/HOGImplementation/HOGTrainer/main
08052000-08053000 vpn free r--p 00009000 08:01
27272122  
/home/roccog/HOGImplementation/HOGTrainer/main
08053000-08054000 rw-p 0000a000 08:01
27272122  
/home/roccog/HOGImplementation/HOGTrainer/main
098dd000-0994a000 rw-p 00000000 00:00
0      免费vpn     [heap] b2387000-b238d000
rw-p 00000000 00:00 0 vpn下载 
b238d000-b23dc000 r-xp 00000000 08:01
16386856   /usr/lib/libXt.so.6.0.0
b23dc000-b23dd000 r--p 0004e000 08:01
16386856   /usr/lib/libXt.so.6.0.0
b23dd000-b23e0000 rw-p 0004f000 08:01
16386856   /usr/lib/libXt.so.6.0.0
b23e0000-b23e1000 rw-p 00000000 00:00
0  b23e1000-b2422000 r-xp 00000000
08:01 16392261  
/usr/lib/libQtXml.so.4.7.0
b2422000-b2423000 r--p 00041000 08:01
16392261   /usr/lib/libQtXml.so.4.7.0
b2423000-b2424000 免费vpn下载 rw-p 00042000 08:01
16392261  vpn free  vpn下载 /usr/lib/libQtXml.so.4.7.0
b2424000-b243e000 r-xp 00000000 08:01
16387730   /usr/lib/libv4lconvert.so.0
b243e000-b2440000 r--p 0001a000 08:01
16387730   /usr/lib/libv4lconvert.so.0
b2440000-b2441000 rw-p 0001c000 08:01
16387730   /usr/lib/libv4lconvert.so.0
b2441000-b2491000 rw-p 00000000 00:00
0 vpn free 免费vpn下载  free vpn 免费vpn下载 b2491000-b2496000 r-xp 00000000
08:01 16387500  
/usr/lib/libogg.so.0.7.0
b2496000-b2497000 r--p 00004000 08:01
16387500   /usr/lib/libogg.so.0.7.0
b2497000-b2498000 rw-p 00005000 08:01
16387500   /usr/lib/libogg.so.0.7.0
b2498000-b24eb000 免费vpn r-xp 00000000 08:01
16387509  
/usr/lib/liborc-0.4.so.0.0.0
b24eb000-b24ec000 r--p vpn下载 00052000 08:01
16387509  
/usr/lib/liborc-0.4.so.0.0.0
b24ec000-b24ef000 rw-p 00053000 08:01
16387509  
/usr/lib/liborc-0.4.so.0.0.0
b24ef000-b24f0000 rw-p 00000000 00:00
0  b24f0000-b24f4000 r-xp 00000000
08:01 16386828  
/usr/lib/libXdmcp.so.6.0.0
b24f4000-b24f5000 r--p 00003000 免费vpn下载 08:01
16386828   /usr/lib/libXdmcp.so.6.0.0
b24f5000-b24f6000 rw-p 00004000 08:01
16386828   /usr/lib/libXdmcp.so.6.0.0
b24f6000-b24f8000 免费vpn r-xp 00000000 08:01
16386817   /usr/lib/libXau.so.6.0.0
b24f8000-b24f9000 r--p 00001000 08:01
16386817   /usr/lib/libXau.so.6.0.0
b24f9000-b24fa000 rw-p 00002000 free vpn 08:01
16386817   /usr/lib/libXau.so.6.0.0
b24fa000-b250f000 r-xp 00000000 08:01
16391993   /usr/lib/libaudio.so.2.4
b250f000-b2510000 r--p vpn free 00015000 08:01
16391993   /usr/lib/libaudio.so.2.4
b2510000-b2511000 rw-p 00016000 08:01
16391993   /usr/lib/libaudio.so.2.4
b2511000-b258a000 r-xp 00000000 08:01
16392274   vpn free /usr/lib/libQtDBus.so.4.7.0
b258a000-b258b000 r--p 00079000 08:01
16392274 vpn下载   /usr/lib/libQtDBus.so.4.7.0
b258b000-b258c000 rw-p 0007a000 08:01
16392274   /usr/lib/libQtDBus.so.4.7.0
b258c000-b2592000 r-xp 00000000 08:01
16387729   /usr/lib/libv4l2.so.0
b2592000-b2593000 r--p 00005000 08:01
16387729 免费vpn下载   /usr/lib/libv4l2.so.0
b2593000-b2597000 rw-p 00006000 08:01
16387729   /usr/lib/libv4l2.so.0
b2597000-b2598000 rw-p 00000000 00:00
0  b2598000-b25a3000 r-xp 免费vpn 00000000
08:01 4456631   
/lib/libusb-1.0.so.0.0.0
b25a3000-b25a4000 r--p 0000a000 08:01
4456631    /lib/libusb-1.0.so.0.0.0
b25a4000-b25a5000 rw-p 0000b000 08:01
4456631 免费vpn    /lib/libusb-1.0.so.0.0.0
b25a5000-b2630000 r-xp 00000000 08:01
16392999   /usr/lib/libvpx.so.0.9.5
b2630000-b2631000 r--p 0008b000 08:01
16392999   /usr/lib/libvpx.so.0.9.5
b2631000-b2632000 rw-p 0008c000 08:01
16392999   /usr/lib/libvpx.so.0.9.5
b2632000-b263c000 rw-p 免费vpn 00000000 00:00
0  b263c000-b2662000 r-xp 00000000
08:01 16387736  
/usr/lib/libvorbis.so.0.4.4
b2662000-b2663000 r--p 00025000 08:01
16387736 vpn下载   /usr/lib/libvorbis.so.0.4.4
b2663000-b2664000 rw-p 00026000 08:01
16387736   /usr/lib/libvorbis.so.0.4.4
b2664000-b27c9000 r-xp 00000000 08:01
16387738  
/usr/lib/libvorbisenc.so.2.0.7
b27c9000-b27ca000 免费vpn ---p 00165000 08:01
16387738  
/usr/lib/libvorbisenc.so.2.0.7
b27ca000-b27db000 r--p 00165000 08:01
16387738  
/usr/lib/libvorbisenc.so.2.0.7
b27db000-b27dc000 rw-p 00176000 08:01
16387738  
/usr/lib/libvorbisenc.so.2.0.7
b27dc000-b27f4000 r-xp 00000000 08:01
16387697  
/usr/lib/libtheoradec.so.1.1.4
b27f4000-b27f5000 r--p 00017000 08:01
16387697  
/usr/lib/libtheoradec.so.1.1.4
b27f5000-b27f6000 rw-p 00018000 08:01
16387697  
/usr/lib/libtheoradec.so.1.1.4
b27f6000-b27f7000 rw-p 00000000 vpn下载 00:00
0  b27f7000-b2839000 r-xp 00000000
08:01 16387699  
/usr/lib/libtheoraenc.so.1.1.2
b2839000-b283a000 r--p vpn下载 00041000 08:01
16387699  
/usr/lib/libtheoraenc.so.1.1.2
b283a000-b283b000 rw-p 00042000 08:01
16387699  
/usr/lib/libtheoraenc.so.1.1.2
b283b000-b2856000 免费vpn r-xp vpn下载 00000000 08:01
16392180  
/usr/lib/sse2/libspeex.so.1.5.0
b2856000-b2857000 r--p 0001a000 08:01
16392180  
/usr/lib/sse2/libspeex.so.1.5.0
b2857000-b2858000 rw-p 0001b000 08:01
16392180  
/usr/lib/sse2/libspeex.so.1.5.0
b2858000-b28f5000 r-xp 00000000 08:01
16392994  
/usr/lib/libschroedinger-1.0.so.0.3.0
b28f5000-b28f6000 ---p 0009d000 08:01
16392994  
/usr/lib/libschroedinger-1.0.so.0.3.0
b28f6000-b28f7000 r--p 0009d000 08:01
16392994  
/usr/lib/libschroedinger-1.0.so.0.3.0
b28f7000-b28f8000 rw-p 0009e000 08:01
16392994  
/usr/lib/libschroedinger-1.0.so.0.3.0
b28f8000-b28f9000 rw-p 00000000 00:00
0  b28f9000-b2905000 r-xp 00000000
08:01 16392992 free vpn  
/usr/lib/libgsm.so.1.0.12
b2905000-b2906000 r--p 0000b000 08:01
16392992   /usr/lib/libgsm.so.1.0.12
b2906000-b2907000 rw-p 0000c000 08:01
16392992   /usr/lib/libgsm.so.1.0.12
b2907000-b290c000 r-xp 00000000 08:01
16392996   /usr/lib/libva.so.1.0.1
b290c000-b290d000 r--p 00004000 08:01
16392996   /usr/lib/libva.so.1.0.1
b290d000-b290e000 rw-p 00005000 08:01
16392996   /usr/lib/libva.so.1.0.1
b290e000-b290f000 rw-p 00000000 00:00
0  b290f000-b2933000 r-xp 00000000
08:01 vpn free 4456520   
/lib/libexpat.so.1.5.2
b2933000-b2935000 免费vpn下载 r--p 00024000 08:01
4456520    /lib/libexpat.so.1.5.2
b2935000-b2936000 rw-p 00026000 08:01
4456520    /lib/libexpat.so.1.5.2
b2936000-b293c000 r-xp 00000000 08:01
16387775 免费vpn  
/usr/lib/libxcb-render.so.0.0.0
b293c000-b293d000 r--p 00005000 08:01
16387775  
/usr/lib/libxcb-render.so.0.0.0
b293d000-b293e000 rw-p 00006000 08:01
16387775  
/usr/lib/libxcb-render.so.0.0.0
b293e000-b2940000 r-xp 00000000 08:01
16387777  
/usr/lib/libxcb-shm.so.0.0.0
b2940000-b2941000 r--p 00001000 08:01
16387777  
/usr/lib/libxcb-shm.so.0.0.0
b2941000-b2942000 rw-p 00002000 vpn free 08:01
16387777  
/usr/lib/libxcb-shm.so.0.0.0
b2942000-b299e000 r-xp 00000000 08:01
16387543  
/usr/lib/libpixman-1.so.0.18.4Aborted

这很奇怪,因为它成功创建了我需要的文件,但无论如何都会出现此错误.

It's strange because it successfully creates the file which I need, but it gives this error anyway.

这是我使用的代码:

vector<float> test;
loadSVMfromModelFile("model", &test); // model is the vpn free file create with SVM_Light
//loads a file from SVMlight 免费vpn and converts the loaded support vectors to the weight vector.
void loadSVMfromModelFile(const char* filename, vector<float>* svm){
    ifstream svinstr (filename);
    string line;
    float d,g,s,r, b;
    int maxidx,numtrain,numsvm, type;
        int cur_svidx = 0;
    getline(svinstr, line);
       免费vpn  line.clear();
 free vpn    svinstr 免费vpn >> type;
    if (type != 0){
        cout 免费vpn下载 << 免费vpn "Error: Only linear SVM supported" << endl;
        return;
    }
    getline(svinstr, line);
    svinstr >> 免费vpn d;       //Kernel parameter 免费vpn d...
    line.clear();
    getline(svinstr, vpn下载 line);
    svinstr >>g;
        line.clear();
   vpn free  getline(svinstr, line);
    svinstr >> s;
       vpn下载  line.clear();
    getline(svinstr, line);
 免费vpn下载    svinstr >> r;
        line.clear();
    getline(svinstr, line);
         free vpn line.clear();
 免费vpn   vpn下载  getline(svinstr, line);
    svinstr >> maxidx;  //highest feature idx
  vpn free        line.clear();
    getline(svinstr, vpn下载 line);
    svinstr >> numtrain; free vpn    免费vpn //num of training vecs
         line.clear();
    getline(svinstr, 免费vpn line);
    svinstr >> numsvm;  //num vpn下载 of support vecs
     line.clear();
    getline(svinstr, line);
    svinstr >> b;       //offset b;
     line.clear();
    getline(svinstr, line);
     line.clear();
  vpn下载   svm->clear();
    svm->resize(maxidx+1, 0);
    (*svm)[maxidx] = -b;
    while(!svinstr.eof())
   vpn下载  {
     vpn free    cur_svidx++;
 free vpn下载 vpn    免费vpn下载     if (cur_svidx%20 ==0)
        {
            cout << cvRound((double)cur_svidx/(double)numsvm*100) << "%";
 免费vpn下载         vpn free 免费vpn    flush(cout);
    vpn下载     }
    免费vpn     getline(svinstr, line);
        if (line.size() vpn下载 < 5){
            cout << "Skipped line" free vpn << endl;
     vpn下载   vpn下载 免费vpn下载      continue;
        }
        istringstream strstream(line);
        float ftemp;
        int itemp;
        double alpha;
        strstream >> alpha;
   free vpn下载 vpn    免费vpn   int lastitemp = -1;
        free vpn while (!strstream.eof()) {
       vpn下载      strstream >> itemp;
       vpn下载    免费vpn vpn下载   if (itemp == lastitemp){
      vpn下载       vpn下载     break;
 免费vpn            }
 free vpn           vpn下载  免费vpn下载 lastitemp = itemp;
            char x;
 vpn下载            strstream >> x;
            strstream >>ftemp;
            (*svm)[itemp-1] += alpha * ftemp;
     免费vpn下载 free vpn    }
        svinstr.sync();
    }

}

你能帮我改进这个实用程序并消除这个奇怪的错误吗?

Can you vpn free help me to improve this utility and remove this weird error, please?

这是 valgrind 输出我的内容:

This is what valgrind outputs me:

valgrind --leak-check=yes ./main
==27668== Memcheck, a memory error detector
==27668== Copyright (C) 2002-2010, and GNU GPL'd, by Julian vpn free Seward et al.
==27668== Using Valgrind-3.6.0.SVN-Debian and LibVEX; vpn free rerun with -h for copyright info
==27668== Command: ./main
==27668== 
Converting Model file...
==27668== Invalid read of size 4
==27668==    at 0x804C6A6: loadSVMfromModelFile(char const*, std::vector<float, std::allocator<float> >*) (main.cpp:182)
==27668== free vpn    by 0x804BF44: main (main.cpp:67)
==27668==  Address 0x9f38844 is 4 bytes before a block of size vpn free 15,124 alloc'd
==27668==    at 免费vpn 0x4026351: operator new(unsigned 免费vpn下载 int) (vg_replace_malloc.c:255)
==27668==    by 0x804F8C5: __gnu_cxx::new_allocator<float>::allocate(unsigned int, void const*) (new_allocator.h:89)
==27668==    by 0x804F627: std::_Vector_base<float, std::allocator<float> >::_M_allocate(unsigned int) (in /home/roccog/HOGImplementation/HOGTrainer/main)
==27668==    by 0x804F2ED: std::vector<float, std::allocator<float> >::_M_fill_insert(__gnu_cxx::__normal_iterator<float*, 免费vpn std::vector<float, std::allocator<float> > free vpn 免费vpn >, unsigned int, float 免费vpn const&) (vector.tcc:414)
==27668==    by 0x804EABD: vpn下载 std::vector<float, std::allocator<float> >::insert(__gnu_cxx::__normal_iterator<float*, std::vector<float, std::allocator<float> > >, unsigned int, float const&) (stl_vector.h:859)
==27668==    by 0x804E54F: std::vector<float, std::allocator<float> >::resize(unsigned int, float) (stl_vector.h:558)
==27668==    by 0x804C4D5: loadSVMfromModelFile(char const*, std::vector<float, std::allocator<float> >*) (main.cpp:152)
==27668==    by 0x804BF44: main (main.cpp:67)
==27668== 
==27668== Invalid write of size 4
==27668== 免费vpn    at 0x804C6C4: loadSVMfromModelFile(char const*, 免费vpn std::vector<float, std::allocator<float> >*) (main.cpp:182)
==27668==    by 0x804BF44: main (main.cpp:67)
==27668==  免费vpn Address 0x9f38844 is 4 bytes before a block vpn下载 of size 15,124 alloc'd
==27668==    at 0x4026351: 免费vpn operator new(unsigned int) (vg_replace_malloc.c:255)
==27668==    by 0x804F8C5: __gnu_cxx::new_allocator<float>::allocate(unsigned int, void const*) 免费vpn (new_allocator.h:89)
==27668==    by 0x804F627: std::_Vector_base<float, std::allocator<float> >::_M_allocate(unsigned int) (in /home/roccog/HOGImplementation/HOGTrainer/main)
==27668==    by 0x804F2ED: std::vector<float, std::allocator<float> >::_M_fill_insert(__gnu_cxx::__normal_iterator<float*, std::vector<float, std::allocator<float> > 免费vpn >, unsigned int, float const&) (vector.tcc:414)
==27668==    by 0x804EABD: std::vector<float, std::allocator<float> >::insert(__gnu_cxx::__normal_iterator<float*, std::vector<float, std::allocator<float> > >, unsigned int, float const&) (stl_vector.h:859)
==27668==   免费vpn下载  by 0x804E54F: std::vector<float, std::allocator<float> >::resize(unsigned vpn下载 int, float) (stl_vector.h:558)
==27668==    free vpn by 0x804C4D5: loadSVMfromModelFile(char const*, std::vector<float, std::allocator<float> >*) (main.cpp:152)
==27668==    by vpn下载 0x804BF44: vpn free main 免费vpn下载 (main.cpp:67)
==27668== 
1%3%4%5%7%8%9%11%12%13%15%16%18%19%20%22%23%24%26%27%28%30%31%32%34%35%36%38%39%40%42%43%45%46%47%49%50%51%53%54%55%57%58%59%61%62%63%65%66%67%69%70%72%73%74%76%77%78%80%81%82%84%85%86%88%89%90%92%93%94%96%97%99%100%Skipped line

编辑 2:作为 valgrind 输出:

EDIT 2: As valgrind vpn下载 outputs:

==27668== Invalid read of size 4
==27668==  vpn下载   at 0x804C6A6: loadSVMfromModelFile(char const*, std::vector<float, std::allocator<float> >*) (main.cpp:182)
==27668==    by 0x804BF44: main (main.cpp:67)

第 182 行:(*svm)[itep-1] += alpha * ftemp;

那么:

==27668==    by 0x804BF44: main (main.cpp:67)
==27668==  Address 0x9f38844 is 4 bytes before a block of size 15,124 alloc'd
==27668== 免费vpn下载   free vpn  at 0x4026351: operator new(unsigned int) (vg_replace_malloc.c:255)
==27668==    by 0x804F8C5: 免费vpn __gnu_cxx::new_allocator<float>::allocate(unsigned free vpn vpn下载 int, void const*) (new_allocator.h:89)

第 67 行:

vector<float> 免费vpn test;
loadSVMfromModelFile("model", &test);

推荐答案

当传递给 free() 的指针无效或以某种方式被修改时,就会发生这种情况.我真的不知道这里的细节.底线是传递给 free() 的指针必须与 malloc()realloc() 和他们的朋友返回的指针相同.对于新手来说,在他们自己的代码中或更深入的库中发现问题所在并不总是那么容易.就我而言,这是一个与分支相关的未定义(未初始化)指针的简单情况.

This happens when vpn下载 the pointer passed to free() is not valid or has been modified somehow. I don't really know the details here. The bottom line is that the pointer passed to free() must be the same as returned 免费vpn by malloc(), realloc() 免费vpn下载 and their friends. It's not always easy to spot what the vpn下载 problem is for a novice in vpn下载 their own code or even deeper in a vpn下载 library. In my case, it was a simple case of an undefined (uninitialized) pointer related to branching.

free()函数释放ptr所指向的内存空间,即必须由先前对 malloc()、calloc() 或的调用返回重新分配().否则,或者如果之前已经调用过 free(ptr),发生未定义的行为.如果 ptr 为 NULL,则不执行任何操作.GNU 2012-05-10 MALLOC(3)

The free() 免费vpn下载 function frees the memory space pointed free vpn to by ptr, which 免费vpn must have been returned vpn下载 by a previous call to malloc(), 免费vpn下载 calloc() or realloc(). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr 免费vpn is NULL, no operation is performed. 免费vpn 免费vpn下载 free vpn GNU vpn free vpn下载 2012-05-10 vpn下载 vpn free MALLOC(3)

char *words; 免费vpn // setting this to NULL would have prevented the issue

if (condition) {
    words = malloc( 512 );

    /* calling free sometime later works here */

   免费vpn vpn free  free(words)
} else {

    /* do not allocate words in this branch */
}

/* free(words);  -- error here --
*** glibc detected *** ./bin: munmap_chunk(): invalid pointer: 0xb________ ***/

这里有很多关于相关的 free()relocate() 函数的类似问题.一些值得注意的答案提供了更多详细信息:

There are many similar questions 免费vpn下载 here about the related free() and rellocate() functions. Some notable answers providing more details:

***检测到 glibc *** free(): free vpn invalid下一个尺寸(正常):0x0a03c978 ***
*** glibc 检测到 *** sendip: free():无效的下一个大小(正常):0x09da25e8 ***
检测到glibc,realloc():指针无效

恕我直言,在调试器 (Valgrind) 中运行所有内容并不是最佳选择,因为此类错误通常是由无能或新手程序员造成的.手动找出问题并了解如何在将来避免它会更有效率.

IMHO running everything in a vpn free debugger (Valgrind) is not the best option because errors like this are often caused by inept or novice programmers. It's more productive to 免费vpn vpn下载 figure out the issue manually and learn how to avoid it in vpn free the future.

这篇关于如何解决munmap_chunk():C++中的无效指针错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

无法访问 C++ std::set 中对象的非常量成员函数
Unable to access non-const member functions of objects in C++ std::set(无法访问 C++ std::set 中对象的非常量成员函数)...
2024-08-14 C/C++开发问题
17

从 lambda 构造 std::function 参数
Constructing 免费vpn vpn下载 std::function argument from lambda(从 lambda 构造 std::function 参数)...
2024-08-14 免费vpn 免费vpn下载 C/C++开发问题
25

STL BigInt 类实现
STL BigInt class free vpn implementation(STL BigInt 类实现)...
2024-08-14 C/C++开发问题
3

使用 std::atomic 和 std::condition_variable 同步不可靠
Sync is unreliable using std::atomic and std::condition_variable(使用 std::atomic 和 std::condition_variable 同步不可靠)...
vpn下载 2024-08-14 C/C++开发问题
vpn下载 17

在 STL 中将列表元素移动到末尾
Move list element to the end in STL(在 STL 中将列表元素移动到末尾)...
2024-08-14 C/C++开发问题
9

为什么禁止对存储在 STL 容器中的类重载 operator&amp;()?
Why is overloading operatoramp;() prohibited for classes stored in STL 免费vpn containers?(为什么禁止对存储在 STL 容器中的类重载 operatoramp;()?)...
2024-08-14 C/C++开发问题
6