Данные не выводятся на консоль - PullRequest
0 голосов
/ 23 декабря 2011

Итак, я выяснил ошибки моего компилятора / компоновщика.Теперь у меня просто проблемы с печатью на консоли.Следующее представляет собой простой тест, предназначенный для создания простой матрицы, которая, в свою очередь, будет выводить данные на консоль. Я хотел бы знать, почему он не выводит данные на консоль ..

Я также обязательно опубликую свой исходный файл:

#include "GLMatrix.h"

namespace Graphics {

    GLMatrix::GLMatrix(int sizeX, int sizeY)
    {
        _sizeX = sizeX; 
        _sizeY = sizeY;
    }

    GLMatrix::~GLMatrix()
    {
        delete _pArray;
    }

    void GLMatrix::addColumnItem(int row, int column, long item) {
        _pArray[row][column] = item;
    }

    void GLMatrix::allocMatrix() {

        _pArray = new long*[_sizeX];

        for (int i = 0; i < _sizeX; ++i) {          
            _pArray[i] = new long[_sizeY];
        }

    }

    void GLMatrix::revertRowsByColumns() {

        long** columns = new long*[_sizeY];

        for (int col = 0; col < _sizeY; ++col) {
            columns[col] = new long[_sizeX];
            memmove(
                columns + col, 
                _pArray[_sizeX - col], 
                sizeof(_sizeX) - sizeof(col)
            );
        }   
    }

}

Main

#include <SDL.h>
#include <iostream>
#include "GLMatrix.h"


int main(int argc, char* argv[]) {

    //SDL_Init(SDL_INIT_EVERYTHING);

    //matrix test

    Graphics::GLMatrix* matrix = new Graphics::GLMatrix(3, 3);

    matrix->allocMatrix();

    int num_rows = matrix->getRowSize();
    int num_columns = matrix->getColumnSize();



    for (int row = 0; row < num_rows; ++row) {
        for (int col = 0; col < num_columns; ++col) {
            long i = static_cast<long>(col);
            matrix->addColumnItem(row,col, i);
            if ((row + 1) % 2 != 0) {
                std::cout << i << " ";
            } else {
                std::cout << "\n";
            }
        }   
    }

    //SDL_Quit();

    delete matrix;

    system("pause");

    return 0;
}

Некоторые из моих выводов на консоль

'OpenGL_01.exe': Loaded 'ImageAtBase0x4a6e0000', Loading disabled by Include/Exclude setting.
'OpenGL_01.exe': Unloaded 'ImageAtBase0x4a6e0000'
The program '[3324] OpenGL_01.exe: Native' has exited with code 0 (0x0).

Я все еще относительно новичок в языке.

Обновление

Я переключил распределение массива и получателей переменных строки и столбца, чтобы они выглядели следующим образом:

matrix->allocMatrix();

int num_rows = matrix->getRowSize();
int num_columns = matrix->getColumnSize();

К сожалению, я до сих порполучите ту же ошибку.

...