Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5972147
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T20:37:02+00:00 2026-05-22T20:37:02+00:00

I suppose I could just use a list however, at this point I am

  • 0

I suppose I could just use a list however, at this point I am just curious why the following code does not work:

struct treeNode{  
    char symbol;  
    double freq;  
    int left;  
    int right;  
};

treeNode *tree;
int nOS = 16;
tree = (treeNode *)malloc(sizeof(treeNode) * nOS);
list<treeNode> treeList;

After initializing all the elements in tree I try to push them to treeList and get a segmentation fault, it does not occur if tree is treeNode tree[nOS] but I am working with an unknown number of elements so I need to be able to use realloc, hence the use of malloc:

for (int i = 0; i < nOS; i++) {
    treeList.push_back(tree[i]);
}

I tried casting tree[i] to a various number of things: (treeNode), (const treeNode) but I can’t figure out how to get it to work. Thank you!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T20:37:03+00:00Added an answer on May 22, 2026 at 8:37 pm

    I have done this in ideone, and it seems to work: (no segfaults)

    #include<list>
    #include<vector>
    #include <stdlib.h>
    #include<iostream>
    
    struct treeNode{  
        char symbol;  
        double freq;  
        int left;  
        int right;  
    };
    
    int main(int argc, char** argv)
    {
    treeNode *tree;
    int nOS = 16;
    tree = (treeNode *)malloc(sizeof(treeNode) * nOS);
    std::list<treeNode> treeList;
    
    std::vector<treeNode> symbolList;
    
    for (int i = 0; i < nOS; i++) {
        symbolList.push_back(tree[i]);
    }
    
    std::cout << symbolList.size();
    
    };
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I suppose this question could just as easily be applied to PHP with regard
Suppose you have a subsystem that does some kind of work. It could be
I suppose there could be historical reasons for this naming and that other languages
I suppose this could apply to any dynamic language, but the one I'm using
This will be implemented in Javascript (jQuery) but I suppose the method could be
I'm wondering if this code ... StringBuilder sb = new StringBuilder(Please read the following
So we have a custom logger (really wanted to use Log4Net, just wouldn't work
I suppose I could take a text and remove high frequency English words from
How do you do it, or is it even possible? I suppose you could
I'm looking at some code with this form: 1 package com.stackoverflow.java.questions; 2 import java.util.ArrayList;

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.