2015-01-29 4 views
1

Я расколол голову над этим. Я искал все, и все, что я, похоже, обнаружил, это проблемы с одинаковыми сообщениями об ошибках, но связанные с созданием полных приложений для iphone или использованием файлов заголовков, всевозможных вещей.Символы, не найденные в архитектуре + команда компоновщика не сработала с кодом выхода 1

Я просто писал простую программу на C++, без файлов заголовков, кроме типичных iostream, stdlib.h и time.h. Это для очень простого назначения в колледже, но я не могу продолжать работать, потому что Xcode дает мне эту ошибку, которая не имеет никакого отношения к фактическому коду (на основе того, что я прочитал). Я не испортил ничего, кроме фактического файла .cpp, я даже не знаю, как я мог это испортить. Я сделал несколько назначений таким же образом и никогда не сталкивался с этой проблемой раньше.

Текущий код:

#include <iostream> 
#include <stdlib.h> 
#include <time.h> 


using namespace std; 

//functions 
void funcion1(int matriz, int renglones, int columnas); 
void funcion2(int matriz, int renglones, int columnas); 

//variables 
int renglones=8; 
int columnas=8; 
int ** matriz = new int*[renglones]; 

int main() 
{ 
    //reservar columnas 
    for (int i=0; i < renglones; i++) 
    { 
     matriz[i] = new int[columnas]; 
    } 

    srand(time(NULL)); 
    funcion1(**matriz, renglones, columnas); 
    funcion2(**matriz, renglones, columnas); 
} 

void funcion1(int **matriz, int renglones, int columnas) 
{ 
    for (int y = 0; y <= renglones; y++) 
    { 
     for (int x = 0; x <= columnas; x++) 
     { 
      matriz[y][x] = rand() % 10; 
     } 
    } 
} 

void funcion2(int **matriz, int renglones, int columnas) 
{ 
    for (int y = 0; y <= renglones; y++) 
    { 
     for (int x = 0; x <= columnas; x++) 
     { 
      cout << matriz[y][x] << " "; 
     } 
     cout << "\n"; 
    } 
} 

Скриншот экрана ошибки Screenshot of error screen

EDIT: Фиксированный код ниже.

void funcion1(int **matriz, int renglones, int columnas) 
{ 
    for (int y = 0; y < renglones; y++) 
    { 
     for (int x = 0; x < columnas; x++) 
     { 
      matriz[y][x] = rand() % 10; 
     } 
    } 
} 

void funcion2(int **matriz, int renglones, int columnas) 
{ 
    for (int y = 0; y < renglones; y++) 
    { 
     for (int x = 0; x < columnas; x++) 
     { 
      cout << matriz[y][x] << " "; 
     } 
     cout << "\n"; 
    } 
} 

ответ

2

Вы не смогли поставить funcion1(int, int, int) и funcion2(int, int, int) функции компоновщика. Вы вызываете их в своей основной() программе, но компоновщик не может ее найти.

И нет, это не вызывает ваш funcion1(int**, int, int) функция:

funcion1(**matriz, renglones, columnas); 

Вы разыменовании int** на двух уровнях, что приводит к получению int. То же самое с вашим вызовом funcion2.


Для вызова функции: funcion1(**matriz, renglones, columnas)

funcion1(matriz, renglones, columnas); 

То же самое и с funcion2(int **, int, int);

funcion2(matriz, renglones, columnas); 
+0

Спасибо! Это избавилось от сообщений об ошибках, но теперь эти две строки дают мне ошибку «Подстрочное значение не указано и массив, указатель или вектор» matriz [y] [x] = rand()% 10; и cout << matriz [y] [x] << ""; –

+0

Какую функцию вы пытались реализовать? 'funcion1 (int **, int, int)' или 'funcion1 (int, int, int)'? Если это второй, и вы сохранили код в корпусе функции, то, конечно, вы получите сообщение об ошибке, так как первый parmeter является обычным «int». – PaulMcKenzie

+0

О, неважно, это была какая-то другая ошибка, что-то связанное со мной, когда я получал данные, у меня не было преследования. Спасибо огромное! –

Смежные вопросы

 Смежные вопросы