2016-04-24 59 views
-5

我想要为我的noeud分配内存(成功)动态内存分配的C++字符串

NOEUD* CreerNoeud(DF x) 
{ 
    NOEUD* pn = (NOEUD*)malloc(sizeof(NOEUD)); 

    if (pn == NULL) 
    { 
     printf("probleme allocation, on arrete \n"); 
    } 
    else 
    { 
     // Allocation valide 

     pn->data= x; 
     pn->data = x; 


     pn->suivant = NULL; 
    } 

    return pn; 
} 

,但我有我的结构串
“错误读取字符的数据存储问题。 “

typedef struct DF 
{ 
    std::string Lside; 
    std::string Rside; 

}DF; 
typedef struct NOEUD 
{ 
    DF data; 
    struct NOEUD* suivant; 
}NOEUD; 
+1

'pn-> data = x;'next line'#pn-> data = x;'你有快门吗? –

+0

当你使用'std :: string'时,为什么你把它标记为'c'? –

+1

你想要C或C++吗?选择适当的语言。 –

回答

0

当你分配它时,你的struct DF的字符串被初始化为空。 你在尝试阅读这些字符串之前是否设置了这些字符串?

+0

我从用户
获得输入,然后我将数据添加到新的noeud – shikova

+0

您可以显示代码将输入存储到字符串中的代码以及您正在阅读的代码中吗?如果没有,那么帮助你并不容易。 – SeB

+0

function.cpp http://textuploader.com/5yzgf | function.h文件ht​​tp://textuploader.com/5yzgc | main.cpp文件http://textuploader.com/5yzgg | – shikova