int foo(int (*bar)(int), int n) { pfun1 = foo; pfun1 = & foo; pfun1 = * * * pfun2; pfun1 = arrfun[4]; pfun2(* * testf, 5); return 1; }
int main() { TmDataCenter* DC = new TmDataCenter; // DataCenterOperation(DC, DSAManager, Print1, "Yes"); // DataCenterOperation(DC, MatchManager, Print2, 100, "No"); //DataCenterOperation(DC, "DSAManager", Print1, "Yes"); DefPrint(Jack); slist_node<int>* slist = new slist_node<int>(10); slist_node<int>* slistit = slist; for(int i=1; i<5; ++i) { slist_node<int>* newNode = new slist_node<int>(i); while(slistit->_M_next != NULL) { //++(*slistit); slistit = slistit->_M_next; } slistit->_M_next = newNode; } // slistit = slist; // std::cout << slistit->_M_data << " "; // while(slistit->_M_next != NULL) { // slistit = slistit->_M_next; // std::cout << slistit->_M_data << " "; // } // std::cout << std::endl; std::cout << slist << std::endl; slist_node<int>* reslist = reverse_slist(slist); std::cout << reslist << std::endl; CA0 ca0; ca0.print0(); std::cout << (int*)&ca0 << std::endl; // std::cout << (int*)(ca0) << std::endl; #if __GNUC__ #if __x86_64 || __ppc64__ typedef std::int64_t myptrdiff; #else typedef std::int32_t myptrdiff; #endif #endif #if _WIN32 || _WIN64 #if _WIN64 typedef std::int64_t myptrdiff; #else typedef std::int32_t myptrdiff; #endif #endif printfunc pfun0 = (printfunc)*((myptrdiff*)*(myptrdiff*)(&ca0)); pfun0(); printfunc pfun1 = (printfunc)*(((myptrdiff*)*(myptrdiff*)(&ca0) +1) ); pfun1(); printfunc pfun2 = (printfunc)*(((myptrdiff*)*(myptrdiff*)(&ca0) +2) ); pfun2(); std::cout << std::showbase << (int*)&ca0 << std::endl; return 0; }