Galera,  sou iniciante na linguagem C e estou tentando criar uma DLL pra chamar outra DDL a partir de um programa. Explicando melhor: Tenho um programa "Program1" que vai chamar a DLL1 que deverá chamar a DLL2.  Program (Instanciar e chamar DLL1) -->  DLL1  (Instanciar e chamar DLL2)--> DLL2  Só que ao tentar usar uma função da DLL2 a partir da DLL1 da erro na compilação: C:\Dev-Cpp\mydll.cpp "too many arguments to function" Detalhe se eu tirar todos os parâmetros da função, funciona perfeitamente.  Código Exemplo:  *****Programa Principal*******  #include <stdio.h> #include <conio.h> #include <windows.h>  typedef void (WINAPI*cfunc)(); cfunc FuncaoTemp;  int main() {     HINSTANCE hLib=LoadLibrary("Project1.dll");     if (!hLib) { printf("error"); return 0; }     FuncaoTemp=(cfunc)GetProcAddress((HMODULE)hLib, "OperandoInteiroPorReferencia");          int op1 = 10;     int op2 = 5;     int resultado = 0;          FuncaoTemp(op1,op2,&resultado);      printf("Valor Operando 1: %d \n",op1);     printf("Valor Operando 2: %d \n",op2);     printf("Valor Resultado: %d \n",resultado);      FreeLibrary((HMODULE)hLib);     getch(); }  ****DLL-1*******  #include "mydll.h" #include "stdio.h" #include <conio.h> #include <windows.h>  typedef void (WINAPI *cfunc1)(); cfunc1 FuncaoTemp2;  extern "C" __declspec(dllexport) void OperandoInteiroPorReferencia(int op1, int op2,int *res) {      HINSTANCE hLib1=LoadLibrary("Project3.dll");     if (!hLib1) {         printf("error");         FreeLibrary((HMODULE)hLib1);        getch();     }      FuncaoTemp2=(cfunc1)GetProcAddress((HMODULE)hLib1, "funcao1Fornecedor");     FuncaoTemp2(op1);  //AQUI DA O ERRO DE COMPILAÇÃO, "too many arguments to function"  /*    SE EU RETIRAR O COMENTARIO DESTE BLOCO E COMENTAR O DE CIMA FUNCIONARÁ PERFEITAMENTE    PORQUE A FUNCAO DESTE BLOCO ESTA DECLARADA SEM PARAMETROS     FuncaoTemp2=(cfunc1)GetProcAddress((HMODULE)hLib1, "funcao2Fornecedor");     FuncaoTemp2(op1);                                   */      FreeLibrary((HMODULE)hLib1);     getch(); }  ***.H da DLL-1***  #ifndef _MYDLL_H_ #define _MYDLL_H_  #include <stdio.h>  extern "C" __declspec(dllexport) void OperandoInteiroPorReferencia(int param1, int op2,int *res);  #endif   ***DLL-2*****  #include "dll.h" #include "stdio.h"  extern "C" __declspec(dllexport) void funcao1Fornecedor(int op1, int op2,int *res) {         printf("Funcao 1 Executada no Fornecedor \n");        //Operação com "int" retornando a referencia resultado       *res = op1 + op2;       printf("Valor Operando 1 na DLL : %d \n",op1);       printf("Valor Operando 2 ma DLL: %d \n",op2);       printf("Valor Res ma DLL: %d \n",*res); }  extern "C" __declspec(dllexport) void funcao2Fornecedor() {         printf("Funcao 2 Executada no Fornecedor \n"); }   ***.H da DLL-2 **** #ifndef _DLL_H_ #define _DLL_H_  #include <stdio.h>  extern "C" __declspec(dllexport) void funcao1Fornecedor(int param1, int op2,int *res); extern "C" __declspec(dllexport) void funcao2Fornecedor();  #endif   Qualquer ajuda será válida Valeu!!!