指针,字符串和溢出错误

mic*_*hcs 5 c++ string overflow

我是C++和编程的新手,我正在编写一个小程序作为一个任务的一部分,并让它工作,但我试图让代码运行得更快,所以我试图让我的向量存储指针到一个结构.

结构是

struct info {
    string all;
    string word;
}
Run Code Online (Sandbox Code Playgroud)

而我所做的是,尝试将字符串'all'赋值为一个值;

info* v;
v->all = str;
Run Code Online (Sandbox Code Playgroud)

str定义为

string str = "Hello";
Run Code Online (Sandbox Code Playgroud)

我在运行GDB时遇到的错误是;

File "/usr/share/gdb/python/libstdcxx/v6/printers.py", line 469, in to_string
return self.val['_M_dataplus']['_M_p'].string (encoding, length = len)
OverflowError: signed integer is greater than maximum
Run Code Online (Sandbox Code Playgroud)

有什么可能导致这个的任何线索?

Hen*_*rik 2

v未初始化。

做了

info* v = new info; 
v->all = str; 
Run Code Online (Sandbox Code Playgroud)

但你确实应该展示更多代码。目前尚不清楚您要做什么以及存储指针如何使代码运行得更快。